Skip to main content

Full text of "80 Microcomputing Magazine December 1983"

See other formats


c 








USA $4.00 



Si 



^— 



the magazine for TRS-80* users 



^ 



-y 



Assembly 
Made Easy 



Also inside: 

How to T 
Software Pirates 

Should You Buy 
A CP/M Board? 

The Road to A-L 
Disk I/O Routines 

Your TRS-80 
Thinks Satellite 





CIO SHACK. A 01 VI 



OY CORP 



Y4470"65947 











jMirjip r 



J&w 








-# 



uage 




The world of telecommunications is a jungle of con- 
fusing terms; From ASCII to protocols to terminal 
emulations, there's a lot for the computer novice to 
remember. That's why we wrote MTERM. 

MTERM is the smart terminal package from 
Micro-Systems Software that goes beyond "user- 
friendly." MTERM is the first terminal program to be 
"novice-friendly." You can be an MTERM expert in 30 
minutes. And because MTERM functions on so 
many different microcomputers, there is no need to 
keep re-learning the program. Universal command 



compatibiity makes transition easy 

Feature for feature, there isn't a better terminal 
on the market. Superior programming with top 
notch documentation make MTERM worth many 
times its reasonable price. 

So in the foreign land of telecommunications, 
don't despair. Get the best translator money can 
buy. Maximum power and minimum effort. Finally, 
these two are in one program. 

For your TRS-8CT. IBM. Apple . Zenith, or compatible 
Microcomputers. Only $79.95 most versions. 



TRS-30 and Apple are registered trademarkes of Tandy Corp. and Apple Computers, respectively. 



- MICRO-SYSTEMS SOFTWARE, INC. 

4301-18 Oak Circle. Boca Raton, Florida 33431, Telephone: (305) 983-3390 

Orders Only 1-800-327-8724 




Communication* 
People 




1FL 



KKJDMllAft 



"tfcvtd&itt "Oiive 



^Csjra za\d=d= 



*E • IBM-PC • APPLE II • TRS-80 - F 



Percom Data Corporation has one hard disk drive system for just about ALL personal computers 

. . . including of course . . IBM '-PC. APPLE' II, and TRS-80 '. Percom Data's innovations 

with 5' •■•" Winchester technology mean that for most personal computers . . . 

having a reliable hard disk system is as easy as hooking up a cable. 

A Percom Data PHD"' will interface with your present system . . . and your future system . . . 
so if you do change computers, you can still keep your most important investment 
your Percom Data Hard Disk Drive. 

Because Percom Data helped create the industry standards of today . . new designs in software 

and hardware will make your selection of a Percom Data Hard Disk Drive pay off 

tomorrow through system compatibility. 

A Percom Data PHD works to capacity because we take the time to correctly develop interface 

software to your computer which leaves no performance holes for you to fall into 

Percom Data knows software functionality is the key to hardware performance. 

Today, Percom Data PHD supports a variety of software to match your computer: 

IBM -PC. PC DOS " 1.1 OR 1.0 

CPM-86 , CONCURRENT CP M-86 

APPLE . DOS 3.3. CPM 

TRS-80 MODELS III & I. DOPLUS. LDOS 

IMAGINE . . . Percom Data Winchester 5' > technology . . for today's computers . . . 

and tomorrow's. 

To receive an informational booklet describing Percom Hard Disk Systems, or to determine if we 

have a system for your computer call our 

Hard- Line Hot-Line at 1-800-527-1222. 

We will also give you the name of a nearby authorized Percom Data Dealer 

Dealer inquiries are welcome. 



I PER30M IMA : 



CORPORATION 



Expanding Your Peripheral Vision 



DRIVES 



NETWORKS 



SOFTWARE 



(214) 340-7081 • 1-800-527-1222 • TELEX 73-0401 (PERCOM) 



IBM is a registered trademark ot International Business Machines APPLE is a registered trademark ot Apple Computer Inc 

TRS-80 is a registered trademark ol Tandy Radio Shack Corp PHD is a registered trademark nt Percom Data Corpora**! 

COPYRIGHT 1963 PERCOM DATA CORPORATION 



74. 



78. 



Features 



Assembly Language Made Simple — 
Parti 

The first step to writing Assembly 
programs: Learn how the Z80 pro- 
cesses instructions. 
Hardin Brothers 

Making Sense of Those Crazy 
Numbers 

Binary and hexadecimal explained. 
Amee Eisenberg 

Assembly-Language Disk I/O 

Write efficient programs by master- 
ing Assembly's I/O techniques. 
David G. Haan 



110. Finding the Search Solution 

Search text files fast with the state 
of the art in signature screening. 
Joseph E. Trojak 

1 16. Assembly-Language Shortcuts — 
PartD 

How to handle the stack, plus a 
reassuring look at logarithms. 
Bob Bowker 

122. CP/M III Ways 

CP/M 22 boards: three ways to expand 
your Model Ill's software library. 
Terry Kepner 




132. Protected Tape Programs 

Two anti-copy routines 
cassette predators. 
Dan Robinson 



to foil 



140. Channels of Communication 

A satellite dish can bring you over 

140 TV stations. Here's how to 

assess your location and aim your 

antenna. 

Dan Keen and Dave Dischert 



Articles 



Hardware 

152. Real-World Control— Part II 

L^J Connecting Part I's hardware to let 
your Model III run household 
appliances. 
David L Engelhardt 



Review 

146. A Modem Sampler 

UDS' 212A/D and Novation's J-Cat 
and Smart Cat: One of them should 
suit your direct-connect needs. 
R.A. Langevin 

Tutorial 

174. Bask, Faster and 
Readable— Part IV 

Making variables work for you. 
John Corbani 

Utility 

170. Chameleon Code 

L^y From Assembly to Basic in the blink 
of an eye. 
Bradley Murray 



Model 11/12/16 



36. Suite 16 

1 10. Finding the Search Solution 



177. Take It Off 

Crack TRSDOS 6.0's password to 
erase utilities and clear disk space. 
David L Engelhardt 

179. The Password Is. . . 

Discover the password of a protected 
Model 4 file. 
David Lantis 



Departments 



6. Side Tracks 

The socalled computer revolution. 
Eric Maloney 

8. Proof Notes 

Assembly language without fear. 

12. Input 

MaxiStat is now StatPac. DMP200, 
LPVII printer patches. Separate 
Model I and III programs. Save AIDS- 
MI disk space. Maze Chase PEEK. 
Speed up Model 4's Mod III mode. 
TRSDOS 6.0 shortcomings. 

18. Aid 

Readers in need. 



4 • 80 Micro, December 1983 



20. Debug 

Talking to big guys, Black Friday, and 
Breakout. 

22. The Next Step 

Keep an eye on variable values. 
Hardin Brothers 

30. The Color Key 

One last look at the world of CoCo 

software. 

Scott Norman 

36. Suite 16 

Multiple multi-user systems: Arcnet 

and Xenix. 

Dan Keen and Dave Dischert 

38. Reviews 

The Statistician. Newbasic 2.1. Four 
Model 100 games. CP/M from Omi- 
kron. MicroSpooler. Monty Plays 
Scrabble. Businesspak + . Instant 
Assembler. Using Scripsit. 





'TRS-80, Scripsit, and 
TRSDOS are trademarks 
of Tandy Corp. 



232. ONotes 

For serious Model 100 owners: a 
memory map, Basic tokens, do-it- 
yourself modem cable, and program 
length counter. For frivolous Model 
100 owners: blackjack. 

251. RAM Files 

Monitor 100 and Foxfighter fixes. 
Calculator program. 

254. News 

The Model 100 gets a 14,000-mile 
road test. Apple/Franklin lawsuit and 
ROM copyright. Christmas shopping 
for micros. Small business auto- 
mation. Magic/L challenges Basic. 
Hegel versus videotex. 

268. The Gamer's Cafe 

From Rodney's "Misc." disk. 
Rodney Gambicus 

274. Fun House 

Santa and Leon host the Fun House 
Christmas pageant. 
Richard Ramella 



280. Feedback I imp 

Readers' questions answered 
Terry Kepner 

292. Reload 80 

CRC errors: when disks lose control. 
Amee Eisenberg 

296. New Products 

Plantrac. Floppy Pockettes. Minute- 
man. Programmer's Pipeline. Infidel. 
Micro Matrix II. Dancing Sailors. 
Volksmodem. Paperwork. Brain- 
stormer. Video Filters. RamPak. Sur- 
face Plot. Byte Bat. 



PUBLtSHEFVPRESIDENT 

Wayne Green 

VICE PRESIDENT-GENERAL MANAGER 

Debra Wetherbee 

VICE PRESIDENTiFINANCE 

Roger Murphy 

ASSISTANT TO PRESIDENTS 

Matt Smith 

ASSISTANT TO VP/FINANCE 

Dominique Smith 

DIRECTOR OF MARKETING * SALES 

Daw) Schissier 

DIRECTOR OF CIRCULATION 

William P Howard 

603*2*9471 

BULK & NEWSSTAND SALES MANAGER 

Gmnie Boud'eau 

1400-3434728 

DIRECTOR OF ADVERTISING 

Stephen Twombiy 

803-924-7' 38 

Sale* Manager Edward Borero 

Sales Betty But at 

JuOi Wimtjerly 

Ad Coordinator Mary Hertwei 1 , 

PUBLIC RELATIONS 

Jamas Leonard 

PRODUCTION 

Director Nancy Salmon 

Ass. slant David Woonak 

M'Cneel Ford, Marione Gillies. 

Kjmberty Nadeau. Phyllis Pittet. 

Anne Rocchlo, Lynne S'monaon. 

Kennetn Sutciil'e. Karen WramaK 

Film Production Donna Hartwetl. 

Theresa Vsrviile, Robert M Viiierveuve: 

Ad Coordinators Patricia Bradley, 

Paula Ramsey, 

Assistant Taylor Moms, 

Advertising Production Jane Pieston, 

Fiona Davlas. Bruce Hedin. 

Scott Phiibnck 

PHOTOGRAPHY 

Supervisor Thomas viiierveuve. 

Sandra Dukette. Nathaniel Haynes. 

Laurie Jenmson, Sturdy Thomas 

TYPESETTING 

Supervisor Sara Bedell: Dariene Baaey. Pram Gongaiu, 

Lynn Haines, Cynthia Letourneau. Llndy Pairmsano, 

Heidi Thomas Sue Waller 

DESIGN 

Supervisor Joyce Pillareiia. 

Susan Donohoe. Holly Fuette 

Howard Happ, Beth Krommes. 

Dion Owens. Dianne Ritson. 

Patrice Scribner. Susan Stevens 

Su/anne Torsneya. Sarah Wernmget. 

Donna Wonilart- 

Copywnters Louis Menm Gail Morrison Dale Tietien 

Steve TrtDfl 

DESIGN DIRECTOR 

Christine Destrempes 



Cover by Damian Honriques and William Giese 



Manuscripts are welcome at so Micro We win consioei puui>caiion o* any TRSSO oriented meienei Gutdadmea tar tustinc autncvs are available Pieese 
servj • sett edryessea envelope ana ss> lor mow tovvnte lor SO Micro SO Micro n published montm, By lOO'OO' Inc esube.diary ol Wayne Orsenlnc £tv 
t-e contents copyright i9S3 Wayne Green inc No pert or trua oubiicelion may ba teotinted. or 'eptoduced 0> a"r means without prloi wtilien permtasion 
liom the publiarvjr Ail p*ac/am» are pubusnaci tor personal use on#y Aj ngnts reserved 

tO Micro it a membet o< the CW Communications. Inc group, Ihe wrrld » letgest publisher or compute' related inlcumat on The group puDlisnes 42 
computei puD-.cal'ons in 16 major counttiee Nine million people teed one ot mora ot the gtoup a Publications seen month Members o* tha puDlica 
lion group include Australia. Auarreleaien Compulerwond Uxio Msoa/ine. A-gentine Ccvnpufe/wo-ioVA'ge'irina BreM Claim***! M,croMiVWo 
Denmars Compurerwond.Detima'H Mi»roDala, France la Monde inlo/melioue Oeimeny Compur»tWoc"e Microcomputer Well PC Weir itely 
Compurerworld Haiti Japan Compure'wo'id Japan Me.,co Computerworrc'TUerrco Norway Compulerworrd Aio/ge. MmroGare People 1 
Republic 0" Cnina Cl/na CompuleneorW Saudi Arabs Saudi CoeieMrterworitf, Spain Compuien»orld,'f«par»a MicroSiiremet Sweden Computer 
Sweden M'HroGero"V Mm Memderor- United Kingdom. Computet M»nmgt*»9nl Computer cWs<"efs Fu'ope United Slalea Compuferworid Qe»» 
top Computing. HO' CoCo inOder inloWorld. ISO World Mierocompulltg, PC World K Mrc-0 PL". 

tO Micro IISSN 0744 7SMl « published 12 lime* a yeat By 100100! Inc B0 Pine St Pete-Borough. NM 03458 Phone 603 9244471 Second class 
postage paid at Peteroorougn nm and additional mailing c.it,ces Subscription laten m u s aia tie tor m ,m SSS ior two veers and t'i tot truee 
veer* m Canada and Merico MS one yeer only u S lunds drawn on a U S Dana Canadian d.ilibutoi M.cion Oslributora, »09 Queen St Weal 
Toronto Ontario. Ceneda MSV 2A5 BC Canadian r>atr bulor Comcmi.l 1 '22 F* S' l UeSS . WA M2K Fcvelgn aubacrlpi.ona (surface mell) 
SSS— one yeer only u S tunda draw" on a u S Bene Foreign subscriptions is I ma I piease inQuite m Souin Aince contact sYJ Mtc'O. P O Bo« 
7»2t)i5 Sandton, South AMoB 2148 All subsC'-ption correspondence snouid be addreased 10 10 Micro Subect.pl.on Department. PO Bo. »»' 
Faiminooeie. N> 1 '737 Pieaae include your eddrest label with any correspondence Postmaster Send totm 3J79 id so Micro Suoscnption Set 
vices. PO Bo. 981. Fatimngdale NV '1737 



Edttonal: 

Sand all ay/Tsjaporvav»rice to 80 Micro. Pine St., Pelertx>tvjugn. NH 
03458 

Subscriptions 

Problems mllh Subtcrlptlont Sand a descnption ol the proWem and 
your cufrent ancVor moat recent address 10- 6YJ Micro, Subscription 
Department, P.O. Bo» 961. Farmingdale, NY 11737 
Prooravns bM Load B0 Circulation Address wyresprjodenoe lo Lorl 
Eaton. 80 Pine St.. Pelertjorouoh, NH 03*68 

Cnang* ol AoWress Send oid label or copy ol old address and new ad- 
dress to: B0 Micro. P O. Bon 961 . Famtlngdale, NY 1 1 737. Please give 
eight weeks advance notice. 

Ulcrolllm. This publication is available In microform from University 
Microfilms International United States address 300 North Zeeb 
Road. Dept PR. Ann Arbor, Ml 48106 Foreign address 16 Bedford 
Row. Dept PR, London, WC1FUEJ. England. 

OMMrs' Contact Glnnie Boudrleau. Bulk Sales Manager. 80 Micro. 
Pine St., PetertMfough, NH 03*58 (800) 3*3072B 



80 Micro, December 1983 • 5 



SIDE TRACKS 



by Eric Maloney 



We've already seen one so-called 
revolution fail. It evaporated into 
thin air shortly after Kent State, unable 
to bear the weight of its own rhetoric. 
So pardon me if I'm skeptical about this 
latest revolution supposedly being fo- 
mented by the personal computer. 

At least, the media and self-styled ex- 
perts on social change are calling it a 
revolution. If so, it's got to be the 
happiest one in the history of the world. 
It sparkles beneath a California sun that 
shines like a big yellow smile button. It 
glows brightly from the pages of News- 
week and The New York Times, from 
quarter-million dollar television com- 
mercials, from the zippy pop-computer 
magazines that hang fat and lazy from 
the newsstands. 

Here is one revolution that promises 
to do you no harm. Nobody gets hurt, 
nobody gets agitated. With the excep- 
tion of a few malcontents, nobody even 
gets upset. 

I can't claim to be an expert on revo- 
lutions, since I've never been in one. 
But it's my understanding that a revolu- 
tion is aimed at the fundamental con- 
cepts upon which a political or social 
structure is built. Take the Industrial 
Revolution, for example. It caused 
social and economic upheaval on a 
massive scale. It shifted power from the 
land-owners to the factory owners, 
from the rural areas to the cities, and 
completely changed the way people lived 
and worked. 

But the microcomputer revolution is 
another story. It does nothing to chal- 
lenge the basic relationship between 
people and their supporting institu- 
tions. It does not change the make-up of 
the ruling class, nor does it alter our per- 
ceptions of that class. 

Some people say that microcom- 
puters will give us more control over our 
lives, that computers will let us access 
information heretofore available only 
to the rich and powerful. This may, to 
some extent, be true; if information is 
power, greater access to information 
means greater power. But if the average 

6 • 80 Micro, December 1983 




America's 
happiest 
revolution 



citizen gains a little, the ruling class will 
gain a good deal more. 

Ultimately, computers will serve to 
reaffirm the social and political hierar- 
chies in this country. The strong will be 
stronger and the weak weaker, a trend 
that hardly can be called revolutionary. 



Adam Osborne has been one of the 
micro industry's most caustic critics. So 
more than a few people chortled when 
Osborne Computer Corp. collapsed last 
summer. 

In some respects, Osborne comes out 
looking like a fool. When he introduced 
the Osborne, he let loose a barrage of 
criticism at his fellow manufacturers, 
predicting in the May 1981 issue of Mi- 
crocomputing that "their unrealistic 
perspective will trigger disaster with all 
the tragic ruthlessness that early success 
had on such companies as Imsai and 
Processor Technology." 

But Osborne's failure was not due to 
lack of insight. In retrospect, his com- 
ments in that article often hit the mark. 
"Hardware manufacturers must con- 
centrate on driving down the price of 
hardware," he warned. And further on, 
he predicted "a new, massive round of 
hardware price reductions." 

Osborne also saw the impact his new 



computer would have on the micro 
market, and predicted "a rapid evolu- 
tion of new, low-cost portable micro- 
computers that appeal to individuals 
and are used with the frequency of type- 
writers." And, in a forecast fraught 
with irony, he saw that by 1983 the Os- 
borne would "have a lot of company." 

Finally, though IBM had not yet en- 
tered the arena, Osborne saw the even- 
tual establishment of industry-standard 
software and hardware. "Those who 
stray from industry standards will be 
forced to leave the microcomputer mar- 
ketplace," he said. 

Osborne's sin was that he was as 
lousy a businessman as the early losers 
he criticized. And apparently, the major 
manufacturers were not as misguided as 
he thought they were. Ultimately, they 
changed their ways, learning to see and 
respond to shifts in the marketplace. 

Osborne was an important stimulus 
to those changes. He may not have 
practiced what he preached, but he had 
a major impact on the industry and the 
way it sold itself. He should be given ap- 
propriate credit. 



Last week at the Peterborough Diner, 
I gave the cashier $2 for a $1.95 turkey 
sandwich. The computerized cash regis- 
ter credited me with 9 cents' change. 
The waitress dutifully gave me a nickel 
and four pennies. 

"Wait a minute," I said, and point- 
ed out that $2 minus $1.95 was not 9 
cents. She puzzled over the problem for 
a moment, finally saw the light, and 
took back the surplus change. 

This little tale has several morals. 
First, we must retain our ability to do 
simple math. 

Second, we must not believe every- 
thing the computer says, or let it subvert 
our common sense. 

And third, we must be watchful con- 
sumers. As long as human beings punch 
the buttons, the buyer's motto remains 
"caveat emptor." ■ 



ANYONE CAN USE OUR SOFTWARE! 




MAIL PAC II and CHECKING PLUS represent a 
new generation of computer software. Our 
software doesn't even need a manual! Any- 
one can quickly learn to use either package 
by following simple, explicit on-screen 
instructions. But for those of you who insist 
— we've included a complete user's manual 
as well. 



•ttillnf Hill. lac. 
lis turn H...1 
riMWKIIU, «T !«** 




MAIL PAC II 



■,- 



MAIL PAC II FEATURES: 
High Capacity -- 

Stores from one to one million names in Zip Code. Numerical or Alpha- 
betical order The only limitation is your disk storage space. 

Flexibility - 

Prints your mailing list on 1.2. 3. or 4-across labels (with up to 5 user- 
defined lines on each label) or as a compact, user-designed directory 
The record length is completely user-defined, and each field within 
each of your records is completely variable (allowing storage of any 
number of characters for any particular address entry) Devote fields 
to telephone numbers, codes, or even special messages related to each 
particular name on file 

Powerful — 

A built-in word processor allows you to creat* personalized form letters 
for each address on your list (or just a particular group of addresses) 

Ease of Use — 

Create new mailing lists, review existing lists, handle changes of 
address, delete cancelled names, sort lists, and purge duplicate names 
from your files Complete on-screen instructions tell you in plain 
english exactly how to accomplish all of these tasks 

MAIL PAC II $99.95 



•■. r u,h 

n SIM mt*.*v 

ANONYMOUS INW»* 



P«l 10 TMf 
ORMR Of _ 



116 



ANONTMC 

HRSTN/ 
" MfHM 

-if no 



CHECKING PLUS 



.LARS 



>:C!ftU0 .uWi'.OSolfcS ' Ufl.E, 



CHECKING PLUS FEATURES: 
Complete Check Register — 

Checking Plus stores your entire check register in a disk file, and then 
uses the data to balance your account, track your expenses, and help 
you make budget projections Review the entire checkbook, enter 
checks, deposits, fees and adjustments, mark outstanding checks when 
paid, and get an instant cash balance at any time All data can be viewed 
onscreen or printed out in report form 

Tax Preparation — 

Storage of monthly and yearly totals and other important information 
aids in income tax preparation, for your personal use or for your 
accountant 

Handles the Details — 

Store names and addresses for frequently written checks, then print 
checks to fit standard window envelopes, eliminating the need forextra 
typing. You can even store any comment, explanation or other message 
(up to 255 characters) related to a particular check 

Automatic Monthly Bill Payments — 

Enter amounts and names of payees for all of your fixed-cost monthly 
payments, and then sit back while the system automatically prints 
checks 

CHECKING PLUS $99.95 



Both Programs Require 48K And At Least One Disk Drive (2 Drives For 
Higher Storage Capacities). And All Hard Disk Systems Are Supported. 



FREE TRS-80 Mod LID & 4 programs suppled on DosPlus (mirwnum system) 
Complete DosPlus also available 



FOR YOUR TRS-80" • APPLE" • IBM PC" • NEC" • OSBORNE" • XEROX" • KAYPRO" • TELEVIDEO" • ZENITH" • SANYO" 
DEC" • Tl PROFESSIONAL COMPUTER" • SUPERBRAIN JR " • EPSON™ • Any CP/M* Computer 

CP M-beeed Computer* mud be (quipped with Mlcroeofl BASIC (MBASIC of BASIC-M) 

TRS-M trademark Tandy Corp APPLE trademark Apple Corp IBM PC tiademaik IBM Corp • ATARI trademark Aun. Inc - OSBORNE trademark Osborne Corp ■ XEROX trademark Xero« Corp 

KA/PRO trademark Non linear Systems Inc - TELEVIDEO trademark T«i e «.deo System* Inc - SANYO trademark Sanyo Corp NEC trademark NEC Corp DEC trademark Digital Equipment Corp 

ZENITH trademark Zenith Corp • Tl PROFESSIONAL COMPUTER trademark Teas Instruments inc SI JPER8RAIN trademark Inlenec Corp CP. M tradema'k Digital Reseaech - EPSON trademark Epson Corp 



OUR SOFTWARE CATALOG 

H & E Computronics. Inc , has mailed more than 1 million 
software catalogs since 1978 Send $2 for our new64-page 
catalog today 1 (We also send you our catalog FREE with 
every order) DEALER INQUIRIES WELCOME 



30-DAY MONEY BACK GUARANTEE 

•" ALL PRICES a SPECIFICATIONS SUBJECT TO CHANGE — 
DELIVERY SUBJECT TO AVAILABILITY 



"CQMPIJTRQNICS; 

SO N PASCACK RD„ SPRING VALLEY. N.Y. 10977 



ADD S3 00 FOR SHIPPING IN UPS AREAS 
ADD S« 00 FOR C O D OR NON UPS ARFAS 
ADD J5 00 TO CANAOA 4 MEXICO 
ADD PROPER POSTAGE OUTSIDE OF U S 
CANADA & MEXICO 



LINE 
(914) 425-1535 




NEW TOLL FREE 

ORDER LINE 
(800) 431 2818 



EDITORIAL DIRECTOR 

WAYNE GREEN PUBLICATIONS 

Jeffrey D. DeTray 

EDITOR-IN-CHIEF 
Eric Maloney 

MANAGING EDITOR (EDITORIAL) 

Peter E. McKle 

MANAGING EDrTOR (PRODUCTION) 

Deborah M. Sargent 

NEWS EDITOR 

Eric Grevstad 

REVIEW EDITOR 

Lynne M. Nadeau 

NEW PRODUCTS EDITOR 

S.F. Tomajczyk 

ASSISTANT EDITORS 

Amy Campbell 

Steven Casey 

Susan Gubernat 

Robert L Mitchell 

TECHNICAL EDITORS 

Bradford N. Dixon 

Amee Eisenberg (Load 80) 

Mare-Anne Jarvela 

Beverly Woodbury 

EDITORIAL DESIGN MANAGER 

Susan Gross 

LAYOUT EDITORS 

Joan Ahern, 

Bob Dukette, Philip Geraci, 

Maurelle Godoy, Sue Hays, 

Laura Landy, Judy Oliver 

PROOFREADERS 

Peter Bjomsen, 

Harold Bjomsen, 

Robin Florence, Ellen Hardsog 

EDITORIAL ADMINISTRATION 

Carole Macloci 



PROOF NOTES 

The editors look at the issues 



The left bracket, I replaces the up ar- 
row used by Radio Shack to indicate 
exponentiation on our printouts. When 
entering programs published in 80 
Micro, you should make this change. 

80 formats its program listings to 
run 64-characters wide, the way they 
look on your video screen. This ac- 
counts for the occasional wrap-around 
you will notice In our program listings. 
Don't let it throw you, particularly 
when entering assembly listings. 

Article submissions from our read- 
ers are welcomed and encouraged. In- 
quiries should be addressed to: Sub- 
missions Editor, 80 Pine Street, Peter- 
borough, NH 03458. Include an SASE 
for a copy of our writers' guidelines. 
Payment for accepted articles is made 
at a rate of approximately $50 per 
printed page; all rights are purchased. 
Authors of reviews should contact the 
Review Editor, 80 Pine Street, Peter- 
borough, NH 03458. 



You asked for it, though in a round- 
about fashion and probably 
without your knowing it. 80 Micro's 
readership surveys tell us a lot about 
your needs. One thing we've noticed is 
your growing interest in Assembly 
language. This isn't too surprising since 
most of you (88.5 percent to be exact) 
use your TRS-80 for home or hobby ap- 
plications. And we all know what that 
means: software programming. 

Designing and writing software, es- 
pecially games, is both fun and reward- 
ing. It can also be frustrating. There's 
nothing worse than programming a fan- 
tastic game in Basic only to have it run 
as slow as molasses uphill. Screen 
changes take seconds and your rockets 
never quite seem to reach their targets in 
time. This is usually when your interest 
in Assembly language begins to take 
root and grow. This issue will nurture 
that growth. 

Communicating with your computer 
in a high-level language like Basic is like 
talking with someone who speaks a for- 
eign language. When you say goodbye 
to a Frenchman, he has to use a dictio- 
nary to see that you mean au revoir. The 
computer follows the same process. If 
you write a Basic instruction in your 
program, the computer has to translate 
this instruction to its "native tongue," 
machine code. 

When you use a low-level language 
like Assembly language, the interpretive 
process is greatly simplified. The com- 
puter operates on Assembly-language 
instructions much faster because that 
language is closer to the Z80's machine 
code. 

Assembly-language programs ex- 
ecute up to 300 times faster than Basic. 
They also require less memory: you can 
run an Assembly-language program in 
4K that normally requires 24K in Basic. 
And if you ever had an urge to see how 
the Z80 processes all of those routines in 
ROM or TRSDOS, Assembly language 
lets you do that as well. 



Speaking 

in 

hex 



Assembly language can be intimidat- 
ing at first with its extensive use of 
binary and hexadecimal data. But be as- 
sured that it's no more difficult to learn 
than when you mastered Basic years 
ago. To ease your nerves, and to help 
build your confidence, we've put to- 
gether a collection of articles that cover 
the entire spectrum of Assembly lan- 
guage. Whether you're a neophyte test- 
ing the waters, or an advanced pro- 
grammer doing the backstroke, you'll 
find something to meet your needs be- 
tween this month's covers. 

For example, Hardin Brothers pre- 
sents his first installment of Assembly 
Language Made Simple for this issue. 
In this comprehensive piece he gently 
introduces you to your first dose of 
Assembly language. And since everyone 
loves to learn shortcuts, Bob Bowker 
continues to share some of his secrets 
with us. You'll find them in part two of 
his article, Assembly-Language Short- 
cuts (p. ). They are especially useful for 
those of you who've been introduced to 
the language. 

Other articles of interest include 
David Haan's technique titled Assembly 
Language Disk I/O, Terry Kepner's 
feature review, CP/M III Ways, and 
Joseph Trojak's Finding the Search So- 
lution, a program that lets you search 
text files quickly. And when the day 
ends, you can relax in your easy chair 
and watch one of over 140 TV channels, 
made available with help from Dan 
Keen and Dave Dischert's article, 
Channels of Communication. If you 
don't want to sit in front of the boob 
tube all night, there's always the antics 
of the Gamer's Cafe to keep you smil- 
ing. So sit back and enjoy! ■ 

— S.F.T. 
01010000 



8 • 80 Micro, December 1983 



Illlll DATA SUPPLIES llllill 

A SUBSIDIARY OF THE COMPUTER WAREHOUSE. INC OF OHIO • 22295 EUCLID AVENUE • EUCLID. OHIO 44117 



nife 



1-800-321-3552 








BARE DRIVES 



TOLL FREE 
1800-321 -3552 



This Month's Special OEM Version ol Shugart 
SA455 (2S. 40/40) Slimline $219 00 



Manufacturer 



Model 



No. of 
Heads 



No of 
Tracks 



Full or 
Slimline 



Price 



Tandon* 



57." TM100-1 



11. 



Full 



$179 00 



Tandon* 


5 V TM 100-2 


2 


40/40 


Full 


239 00 


Tandon* 


5V." TM 100-4 


2 


80/80 


Full 


319 00 


MPI* 


5*" Model 51 


1 


40 


Full 


179 00 


MP!* 


5 'U" Model b2 


2 


40 MO 


Full 


239 00 


MPI* 


5%" Mdi 501 


1 


40 


Slimline 


179 00 


MPI* 


b'W Mdl 502 


2 


40/40 


Slimline 


239 00 



MPI" 



5 V." Mdl 902 



80/80 



Slim fie 



MPI* 



8" Mdl 41 



77 



Slimline 



MPI* 



8" Mdl 42 



77/77 



Slimline 



329 00 

J99 CO 
499 00 



For TRS 80 Healh 7enitFi IBM and Oilers 

* For complete Case and Power Supply ^00 ii* 9S " For dual case .mci power supply aoo S99 9b 



MODEL III & IV 
n S-232 Communication 

DIRECT REPLACEMENT FOR 
RS-232, FULLY TESTED & 
BURNED IN, EASY INSTALLA- 
TION, 120 DAY WARRANTY. 
RS-232 78.95 



SPRINTER 

Double Your Speed 

Speed-up cuts computer 
operation time in half, saves 
time and money. Fast4 MHz 
Z80B CPU included, installs 
in 15 minutes with no solder- 
ing or cutting. 

SPRINTER III for MOD III $89.95 
SPRINTER I for MOD I $89.95 



%u 



ELECTRONIC 
PROTECTION DEVICES 

The PLUM 3-way tMI-RM AC Power Line 

Noise Filler (wall Outlet) S44 95 

The LEMON 6 way Surge Suppressor tor 

AC Power Lines (wall outlet) $54 95 

The LIME - same as LEMON w/5ft. 

cord and on off switch $79 95 

The PEACH 6 way Surge Suppressor. 

EMI RFI Line Fitter (wall outlet) $89 95 
The ORANGE same as LIME w/EMI RFI 

Filtering PLUM & LIME Combined $129 95 



PRINTER BUFFERS 



QUADRAM MICROFAZER 

Parallel to Parallel w/8K $149.00 

Parallel 1o Serial w/8K 179.00 

Serial to Serial w/8K 179.00 

Serial to Parllel w/8K 179.00 

Each Add'!8K Upgrade 10.00 

All come with pause control and copy 
feature, and can be upgraded to 512K. 

PRACTICAL PERIPHERALS 

MPB/EPSON w/16K $149.00 

MPB/EPSONw/32K 189.00 

In-Line Parallel or Serial w/32K 289.00 
In-Line Parallel or Serial w/64K 339.00 



FOR ORDERS 
1-800-321-3552 

IN OHIO and all other inquiries 
call (216) 481-4993 



WE ACCEPT 

• Visa 

• MasterCard 

• Cnecks 

• Money Orae' 

• COD 



ALL PRICES 

ARE FO r * 

MAIL ORDER ONLY 

Prices Specifications 

and Ollerings suffer 

lo change withour 

notice 




LNW I 

TRS-80 Mod. I Expansion I 

$349.00 

e RS232c serial I/O • Full 32h 200ns RAM 1 

• Parallel printer port • Real time clock 1 

• Gold plated • 6 month warranty 1 
connectors • Heavy steel case 1 

• Floppy disk controller • Thousands of users I 
• Works with any DOS 100% I 

MPVV' MODEL IV FEATURES ON YOUR I 

MODELS I & III FOR 1/2 THE PRICE! I 

BUT ONLY WITH... 1 

The HOLMES VID-80 I 

•O CHARACTER VIDEO INCLUDES: 1 

Easy plug-In installation Inalde cm. 1 

Software patchss available for many programs. I 

Improved Graphic Resolution I 

SO X 24 or 64 X 16 aeleclable nvodea. I 

CP/M 2.2. 112K RAM. j 

(CP/m 3.0 4th quarter '63) I 

ALL of these features for I 
a SPECIAL price of $499.00 

MODEL I DOUBLE 
DENSITY PACKAGE 

Everything you need to convert your TRS-80 j 

Model I to run double density Complete with I 

software hardware, and instructions, installs 
in minutes with no soldering, wiring or cutting. 

DosplusV 3.4 w/LNDOUBLER 5/8 $199 00 
LNDOUBLER 5/8 Board w/o dos $169.00 

16 K RAM SPECIAL | 

4116 ?00ns Guaranteed one full year $17 95 

MODEL IV — 64K 

MEMORY EXPANSION 

GUARANTEED 1 FULL YEAR 

SET OF 8 
4164 RAM CHIPS 69.95 

w/ PAL CHIP to go from 64 to 128K $84.95 



Must ttsvs suthodistlon numbsr. obtained 
I8i-i«oo Unsulnorlisd > slums will bs 
dsmsasd goods wll bs rslussd. All rslurns 

1S% niiocilng fee. 




/ 



Seasons Greetings . . . 

Thanks to you. this past year has seen Micro Data Supplies growing by leaps and bounds. 
Sure we offer the highest quality products at low warehouse prices, but its you, our 
satisfied customers who are spreading the good word about Micro Data Supplies. And 
we want you to know we really appreciate it! 

DEALER INQUIRIES WELCOME 



CALL OUR NEW TOLL-FREE NUMBER 



milium 



Happy Holidays, 
Russ Knotts • President 




3fe 



I 




NEWDOS/80 
Version 2.0 

Model I and Model III 

The hottest Disk Operating System is now avail 
able in its latest version. This is the ONE from 
Apparat. Inc., the people whose systems have 
made the TRS-80 the reliable computer 

$13995 

Lei your TRS-80™ Test Itself With 

THE FLOPPY DOCTOR & 
MEMORY DIAGNOSTIC 

DISK DRIVE * MEMORY DIAGNOSTIC PROGRAM 

by David Stambauqh 

A complete checkup tor your MODEL I or 
MODEL III. THE FLOPPY DOCTOR Version 3 
completely checks every sector ot single or 
double density 35-. 40- 77 . or 80 track disk 
drives Tests motor speed, head positioning, 
controller functions, status bits and provides 
complete error logging. THE MEMORY 
DIAGNOSTIC checks lor proper wrile'read, 
refresh executability and exclusivity ol all ad 
dress locations Includes both diagnostics and 
complete instruction manual. 

For MODEL I $24.95 

For MODEL III $29.95 

GEAP/Dot writer 

GEAP lets you create words and drawings 
quickly and easily, right on the screen of 
your TRS-80. 

'DOTWRITER" uses high-resolution "dot 
graphics" to create fancy lettersets 

Special: 

QEAP AND DOTWRITER $84.95 

DATAGRAPH 

Transform your VISI-CALC™ files into 
high-resolution custom graphs on your 
TRS-80™ computer and graphics printer 
Super 3rd generation printer graphics 
program. 

DATAGRAPH $74.95 

ULTRA TERM 

Supports both manual and auto dial modems 
Exclusive Ultra Term direct disk tile transfer 
mode, allows unattended operation at the 
receiving computer Line printer support with a 
IK print buffer. Half & lull duplex support 
Universal ASCII lormat file iransle- with a 33K 
buffer and a lull featured host program $49.95 



DISKIT HI 

MODEL III & IV DISK UPGRADE 




Floppy Doctor with 






the purchase of 






any DISKIT III 






$30.00 VALUE' 






Feature* * 


Metal Disk D 


.• Rmi kf 


• Gold Plated Edge • 


All Hardware 


and Cables 


Connector* • 


I Hour or le- 


sfor 


• Switching Power Supply 


installation 




• Supports 5" or 8' Drives • 


100% Compatible 


• 40 80 truck Supported • 


NO Solder ing 


Needed 


• Single Dual Head • 


180 Days Wa 


"•antv ""■ 


Supported 


Controller 




DtSKIT III w/o Drives . 




$219 00 


DISKIT III w'one Tandon 










... 399.00 


DISKIT III w'two Tandon 












DISKIT III w/two Tandon 






100-2 40/40 Dual Drive 




. $789 00 



PRINTERS wew^gs 

NEW SILVER REED 

EXP DAISY WHEEL $499.00 

GEMINI 10x by Star Mlcronics . . . $319.00 
GEMINI 15x by Star Micronlcs.. $479 00 

NEW EPSON RX 80 $349.00 

PROWRITER 8510 $399.00 

NEC 8023 ..... $399.00 



PRINTER EPSON 
ACCESSORIES 

Gratlrax Plus $65 95 

MX-80 Ribbons 7.95 

MX-100 Ribbons 18.95 

Epson Service Manual MX 80/ 100 34.95 

PRINTER CABLES 

TRS-80 Model I & III 

10ft Parallel $19.95 

10 ft Parallel cable extensions $19.95 



ELECTRIC PENCIL 
Version II 

Mode! I and Model III 

An expanded version of the critically acclaimed 
original word processing system' Includes all 
features of Version I plus many new extensions. 

Disk Version $79.95 

Tape Version $69.95 

ELECTRIC WEBSTER 

1 'Cadillac' ' of Spelling Checkers 80 M icro 9/82. 

• 50,000 WORD DICTIONARY 

• FAST and ACCURATE - No other Spelling 
Checker comes close! 

• INTEGRATED Proofs and cofrects from within 
most popular word processing programs! 

• SMART Finds and displays correct spelling! 

• HYPHENATES automatically - inserts discre 
tionary hyphens with 100% accuracy (optional). 

• COMPLETE - One step proofing system 

Electric Webster w/correcting feature $129 95 

Hyphenation feature $49.95 

Grammatical feature $39.95 

COMPLETE SYSTEM all Four Programs $199 00 

NEWSCRIPT 7.0 

NEWSCRIPT is the versatile TRS-80 word pro- 
cessing program It supports "smart" printers 
like the Epson. Okidata, NEC. C.ltoh, Spmwriter, 
Centronics 739 and more 

NEWSCRIPT $109 95 

THE HOME 
ACCOUNTANT 

The »1 best selling program for home and small 
business accounting is now available tor TRS- 
80 Model 3 Handles up to 99 accounts, five 
checkbooks, multiple income accounts, and 
can split transactions to any number of ac- 
counts Prints net worth statements, income 
statements, as well as custom designed reports 
Displays a bar chart and trend tor any selected 
category Ids easy to use and yet provides all the 
power you'll need (By Continental Software, 
requires Model 3. 2 drives, 48K.) $62 95 



%\W dAaVvppuk 



MICRO DATA SUPPLIES 

A SUBSIDIARY OF THE COMPUTER WAREHOUSE. INC OF OHIO 

22295 EUCLID five. EUCLID. OHIO 44117 







ROLLTOP 100 Disk Fll«™ 
Model «RT100 

Twice the capacity (100 ■ 5V4 " Disks) 
ot the leading "flip top" file. But it 
takes no more desk space! An out 
standing design that combines con- 
temporary styling with the elegance 
of a rolltop enclosure and a textured 
buff plastic body. It includes 10 
diskette dividers and anti-skid 

feet $36.00 

Locking Model #RT100L $46.00 



SUPPLIES 

V. ' File Box for 75diskelt«t .. J1995 

AVERY TABULABIES 

5.000 3V, . 15/16 $15 95 

FAN FOLD PAPER (Prices F B S P ) 

9* « 11 18 1b WHITE 3.000 c! $29 95 

14!4x 11 18 1b WHITE 3.000 ct $39 95 



• THIS MONTH'S SPECIAL • 

Head Cleaning Kit w/10 Bulk Diskettes $34 yt> 
********** 




uouo^ 



BULK PACK of 10 
SS/DD 5 1/4" Diskettes 
for ONLY $10.95 with any 
purchase of $50. or more. 

LIMIT (1) pack of 10 per Order. 



$$>** 



AS LOW AS 



$1.59 



5V4 



SOFT 

SECTORS 

BULK 



Single sibf 
single density 
w 'hub ring 

100% certified 
• vr warrantv 

$1.59* 



pi/ n SOFT 
J 74 SECTORS 

BULK 

SINGLE SiOE 
DOUBLE DENSITV 
W/HUB RING 

100*. CERTIFIED 
1 VR WARRANTY 

$1.89* 



5 1 /4 



SOFT 

SECTORS 

BULK 



DOUBLE SIDE 
DOUBLE DENSITY 
IN'MUB RING 

100% CERTIFIED 
1 YR WARRANTY 

$2.79* 



c 1/ » i BOX 

5 74 Of* 

LOGO PRODUCT 

S NOI F- SIDE 
SINGLE DENSITY 
W'MUB RING 

100% CERTIF'ED 
? YR WARRANTY 

$18.95 



5 1 /4" r-c 
LOGO PRODUCT 

SING.E 6HX 
DOUBLE DENSI'y 
W/HUB RING 

100% CERTIFIED 
? YR WARRANTY 

$22.95 



C 1/ " BOx 
74 of ic 

LOGO PRODUCT 

DOUBLE SIDE 
DOUBLE DENSITY 
W'HUB RING 

100% CERTIFIED 
? YR WARRANTY 

$31.95 



•Now Get High Quality at a Low Price 

Manufactured by a Maior Disc Company 

For MDS Without Their Name on Diskettes 

•Minimum order 20 diskettes with 

Tyvek envelope and storage shipping box 

•Quantity discounts 100 deduct 3% 

1000 deduct 5%. 10.000 deduct 10% 

BOOKS 

OTHER MYSTERIES 

TRS-80 DISK $19 95 

Microsoft Basic Decoded $24 °o 

The Custom TRS-80 $28 95 

Basic Faster & Better $29 95 

How To Do It On The TRS 80 $28 95 

TRSDOS 2 3 Decoded $28 95 

The Custom Apple $28 95 

Mach.ne Language Disk I/O . $29 95 

CP/M Primer $15 95 

LABLMAKER 

The mosl useful program you'll ever own 
Prints Marking labels on standard 1 ' » 3 - 
labels Sixteen punt formats lo choose Irom 
including the Hi Visibility Jumbo Print Type 
TRS-80Modei i & ill. 48K. 1 Dnve. Epson MX-80 
,'ype pnnie' lO' equivalent) 

LABLMAKER KIT - w. 400 
5 16 « 3 . labels J?9 9S 

CASSLABEL Kit - w'200 
cassette labels & ?00 
5/16 • J . ■ labels $34 96 




\ferbatim 




Datalife 



, Call 1-800-321-3552 

MONDAY thru SATURDAY 

IN OHIO AND OTHEH INQUIRIES (2161 481-4993 



WE ACCEPT 

• Visa 

• MasterCard 

• Checks 

• Money O'dei 

• COD 



ALL PRICES 

ARE FOR 

MAIL ORDER ONLY 

Prices Specifications 

and Offerings subject 

to change without 

notice 



DATALIFE 

VERBATIM DATALIFE " 
DISKETTES 



TM 



Seven data-shielding 
mean greater durability 
life. 

VERBATIM DATALIFE 

DISKETTES 

5%-lnch (box of 10) 

MD525-01 

1S/D Den 

Soft-Sectored Diskettes 

5 ." 2S/D Den (MDS5O-01) 

5 ■>" 2S.4 Den (MD5S701). 

8 IS D Den (FD34-8000I 



improvements 
and longer data 

-I SPECIAL l> 

X % 2S.9S% 



. $39 95 
. .$51 50 
. $43 95 



ISN'T IT TIME YOU SCORED 
. . .WITH SCOREPAC!™ 

Gel a SCORE of diskettes in a 
sturdy, new PAC and SAVE! 

LIMITED TIME OFFER 

Buy ANY SCOREPAC™ at its 
regularly advertised price and you're 
entitled to purchase a 5V4" File Box 
for the added cost of only $17.95.* 
•Limit 1 File Box per SCOREPAC™ 

SCOREPAC™ w/20 Paragon 
Plain Jane™ Diskettes 
IS/SD $38.95 

SCOREPAC™ 
w/20 Paragon Gold Diskettes 
1S/DD $46.95 

SCOREPAC™ 
w/20 Paragon Gold Diskettes 
2S/DD $56.95 



3M SS/DD/SS 

5 1/4". ..$23. 95 
3tM DS/DD/SS 

5 1/4" ....$35.95 

Dyson 

^CORPORATION 

DYSAN SS/DD/SS 5 1/4".$35.95 
DYSAN DS/DD/SS 5 1/4" 
~~*44.95 





INPUT 



MaxiStat Now StatPac 

John Harrell did an excellent job re- 
viewing MaxiStat (September 1983, 
p. 50). 

Your readers should be aware, how- 
ever, that we have made important 
changes relative to MaxiStat since your 
review appeared. 

MaxiStat is no longer published or 
marketed by The Business Division. 
Walonick Associates now markets and 
supports an updated version of the 
package under its original name of 
StatPac. 

This update contains substantial 
changes from the version you reviewed, 
including more statistics, printing op- 
tions, and machine-language subrou- 
tines for speed. 

Anyone interested in further infor- 
mation should contact Walonick Asso- 
ciates. 

DavidS. Walonick 

President, Walonick Associates 

5624 GirardAve. South 

Minneapolis, MN 554 J 9 




Printer Fix 

The DMP200 printer has one draw- 
back: Its superscripts are low, and the 
rest of the text after a subscript is no- 
ticeably lower than the text preceding 
the subscript. 

To rectify this, change the half- 
reverse line feed action to a full-reverse 
line feed followed by a half-forward line 
feed (see Program Listing 1). This has 
an insignificant effect on print speed, 
and it works. 

This fix also works on the Radio 
Shack Line Printer VIII, and with other 
Radio Shack printers that use the same 
printer drivers. 

To install this modification, define 



PATCH 
PATCH 
PATCH 
PATCH 
PATCH 
PATCH 
PATCH 

PATCH 
PATCH 
PATCH 
PATCH 
PATCH 
PATCH 
PATCH 



DMP400/CTL 
DMP400/CTL 
DMP400/CTL 
DMP400/CTL 
DMP400/CTL 
DMP40Q/CTL 
DMP400/CTL 



(ADD = BCAC,FIND 
(ADD = BCB0,FIND = 
(ADD = BCB8,FIND = 
(ADD = BB4D,FIND = 
(ADD = BB50.FIND = 
(ADD = BC76,FIND = 
(ADD = BC82.FTND = 

OR 



= 1C,CHG = 0A) 
C9,CHG = 00) 
1E,CHG = 1Q 
A5,CHG = B1) 
B1,CHG=A5) 
B1,CHG = A5) 
A5,CHG = B1) 



LP8/CTL (ADD = BC9E.FIND = 1C.CHG = 0A) 
LP8/CTL (ADD = BCA2.FIND = C9.CHG = 00) 
LP8/CTL (ADD = BCAA.FIND = 1E.CHG = 1Q 
LP8/CTL (ADD = BB4D.FIND = 97.CHG = A3) 
LP8/CTL (ADD = BB50.FIND = A3.CHG = 97) 
LP8/CTL (ADD = BC68.FTND = 97.CHG = A3) 
LP8/CTL (ADD = BC74.FIND - 97.CHG = A3) 



Program Listing 1. Patch for the DMP200 printer. 



900 BKS * CHR$(255)+CHR$(255)+CHR$(255) 

910 SP$ - CHR$(128)+CHR$(128)+CHR$(128) 

920 TB$ - CHR$(27)+CHR$(16)+CHR$(0)+CHR$(48) 

1000 LPRINT CHR$(18) ; 

1010 FOR H = TO 47 

1015 LPRINT TB$; 

1020 FOR W = TO 127 

1030 IF POINT (W,H) THEN LPRINT BK$; ELSE LPRINT SP$; 

1040 NEXT W 

1050 LPRINT "" 

1060 NEXT H 

Program Listing 2. LPVlll print adjustment. 



the user print code as the control-® key 
sequence, since the @ key is close to 
the * key. Use the System Set-up option 
from the main menu and then the Enter 
Printer Codes option. 

Under the @ key, enter for the units 
and 27,10,27,28 for the sequence of 
codes. 

You can also change printer driver 
DMP400/CTL or LP8/CTL by replac- 
ing the half-reverse line feed code with 
the code for a full-reverse line feed fol- 
lowed by a half-forward line feed (sec- 
ond half of Listing 1). This lets you use 
the control-* code exactly as normal, 
and there is no interference with any 
observable function of SuperScrip- 
sit 1.1. 

You must type in the patches exactly 
as shown below, and only to your back- 
up copies of the program (building a 
do-file is a very convenient way to save 
on repeated typing). 

Ian McCauley 

Department of Biochemistry 

University of Western Australia 

Nedlands, 6009 



LPVffl Expanded Graphics 

In Jim Hanson's letter to Input (June 
1983, p. 12), his program to display 
screen graphics to the LPVIII prints 
graphics horizontally shortened by one 
third. 

Program Listing 2 is a modification 
to Hanson's program that solves this 
problem. Lines 900 and 910 define the 
block and space print location. Line 920 
defines the tab (LPVIII POS command) 
to center the display on the page. 

Don Moore 

P.O. Box 1405 

Coconut Grove, FL 33133 



Machine-Specific Programs 

I am distressed by the concept, 
stressed throughout 80 Micro, that 
every program published must be com- 
patible with both the Model I and 
Model III. 

Most of the programs in your maga- 
zine that run on the Model III also run 
on a Model I, and it's the same story for 
many software companies. 

The reasons for this phenomenon are 
simple and well intentioned: Having the 
same program work on both machines 
satisfies twice as many people, means 



12 • 80 Micro, December 1983 



LOOK WHO'S 

NEW DEMO HOTLINE C212) 296 0399 

TALKING 

VSlOO 

VOICE SYNTHESIZER FOR 
MODEL I, III, IV 




• Unlimited vocabulary. 

• Automatic inflection. 

• Proven VOTRAX technology. 

• We use the famous VOTRAX 
SC01 phoneme synthesizer. 4 pro- 
gramable pitch level. 

• Built in audio amplifier with volume 
control. 

• You can add voice to any basic pro- 
gram in minutes. 

^Super efficient: one single line in 
Basic will produce a full sentence! 

• Works with any speaker (or add 
$5.95 for handsome speaker 
module). 

• Price breakthrough: same perfor- 
mance as units costing hundreds 
of dollars. 



^Voice editor will help you create 
unlimited number of words, sound 
effects, etc. 

• Hundreds of applications— now 
cost effective in education, robo- 
tics, speech therapy, monitoring, 
games, aid to handicapped, secur- 
ity, prompting... . 

• Fully assembled and tested, 90-Day 
warranty. 

^Ready to plug in and talk. 
^As usual our 15-day money back 
guaranty protects you. 

Toll Free Order Line 
800-221-0916 

OrdtttOnl,. NY Unto call 121 2) 796 $916 Houii 95fSI 



SPEAK ENGLISH AUTOMATICALLY! 



TALKER 1 .4 TEXT TO SPEECH CONVERTER • Unlimited vocabulary including: words, letters, symblols 
and numbers up to 99.999.999.999,999! Talking is as simple as: PRINT • "I talk! 1 ' Machine language DISK or TAPE 
only $19 95 



VS 100 



Order #C201 for MODEL I 

C203 for MODEL III or IV 

Price includes Synthesizer Module, Power Supply, 

Instructions, Editing and Demo Software. 

Speaker Module not included, add $5.95 

Text to Speech Software $19.95 

m iiiiiii m SUPER CONTEST iiimimiiiiiiiiiiiii 
Win $1000 + Royalties for tne best talking game 

+ Win $1000 for the best "serious application" software 
Clubs: Contact us at (212) 296-5916 if you would like to arrange 
for a product presentation. voi«i it • ngWwvri «f#<j«m«rti oi vmih. 

Toll Free Order Line 800-221-0916 

ORDERS ONLY. INFORMATION AND NY. ORDERS CALL (212) 296-5916. HOURS: 9 • 5 E.S.T 




800-221-0916 



jm ALPHA 



lica Ave., Woodhaven, NY 11421 



9 (212) 296-5916 



* 17 



ADD S3. 00 PER OROER FOR SHIPPING AND HANDLING. 
WE ACCEPT VISA. MASTERCARD. CHECKS, MO. 
COO AOD S3 00 EXTRA. 
NY RESIDENTS ADO SALES TAX 
OVERSEAS. FPO. APO. ADO 10% 
JLEALER DISCOUNTS AVAILABLE. 



&3 



INPUT 



EO 



In our "Buyer's Guide to Disk 
Drives and Disks" (June 1983, p. 
234), we omitted Micro Design. 
Micro Design (6301 Manchaca 
Road, Austin, TX 78745, 800-531- 
5002) markets one 40-track, 5 '/i -inch 
disk drive for the Model I, and three 
systems for the Model 111. 

Micro Design offers 40-track, 
single-sided 5 X A -inch disk drives with 
250K storage capacity (first upgrade 
is $399, second internal drive is 
$189.95). Also available are 40- 
track, double-sided disk drives with 
500K storage capacity (first drive 
upgrade is $474, second drive is 
$274), and 40-track, 5 l /4-inch, 
double-sided drives with 500K stor- 
age capacity (disk drive upgrade is 
$495, additional slim line drive is 
$295). 

In the September Input column (p. 
12), we omitted the program listing 
for Howard Potvin's letter. Program 
Listing 6 eliminates the extra alpha 
column headings in John Corbani's 
Minicalc program (May 1983, p. 
140). 

Line 470 contains the code to set 
an Epson printer to 132 characters 
per inch, and Potvin changed the 
reference to the number of columns 
in line 110 from 14 to 15. Line 475 
sets unidirectional printing and 
checks for number of columns. 

If you have eight or fewer col- 
umns, set Q to 1 and drop to line 480. 
If you have more than eight, set Q to 
9 and go to line 476 to print the first 
eight columns. Then go to line 480 
and print the rest. Line 49 keeps the 
underline length correct. 

These changes print the full ^col- 
umns by 26 rows on one sheet of 
standard sized paper. 

Richard Green's review of Power 
DOT (October 1983, p. 80) contains 
a minor error. On page 84, the two 
angles referred to as 150 degrees are 
actually 15 degrees. 



you have to write only one version of 
the program, and guarantees that you 
can keep the software if you upgrade 
from a Model I to a Model III. 

I cannot help thinking, however, that 
this practice is short-changing owners of 
Model Ills and modified Model I's. 
These programs don't let me use my 
special features at all. 

As an example, Radio Shack obvi- 
ously designed its Series I Editor/ Assem- 
bler for a Model I. Only the left shift key 
works, and I must use the low cassette 
speed. To generate lowercase charac- 
ters, I have to depress the shift key. 

Ideally you should have two versions 
of the same program, each designed for 
its own individual machine. An excel- 
lent example of this is Frolic, the ma- 
chine-language monitor contained in 
the book TRS-80—More Than Basic, 
by John Froehlich. 

Mr. Froehlich wrote two different 
monitor programs, one for each model, 
each version using its own model's 
special features. Why can't major soft- 
ware manufacturers do this as well? 

1 urge the editors of 80 Micro to en- 
courage machine-specific program sub- 
missions. Once you have such pro- 
grams, you could convert them, much 
the same as you do in the Take II 
column. 

I have used both the Model I and the 
Model III, and it isn't difficult to alter 
existing generic programs to fully utilize 
each machine's specialties. 

Once people stop bunching together 
the Model I and III as one machine, the 
owners of both will be better off. How- 
ever, the trend does not seem to be in 
that direction. 

A serious flaw in Model 4 Basic is the 



necessity of separating each Basic key 
word with a space. Will programs pub- 
lished in the future in magazines and on 
disk and tape have spaces between each 
keyword, to make every program com- 
patible with that machine too? I sincere- 
ly hope not. 

Mark Allen Reed 

Box 459- A 

Lyme Center, NH 03769 

AIDS-III Space Saver 

Although the AIDS-III packages pub- 
lished in the March and April 1983 is- 
sues (p. 136 and p. 168, respectively) of 
80 Micro are the most useful to be 
found, they take up a lot of disk space. 

I've come up with a way to save a 
great deal of disk space and keep several 
files on one disk. 

Make up individual data lists (all 
starting at line 5000) and save them as 
ASCII files (use the ,A option). Then 
make up a menu for the programs 
you've developed (see Program Listing 
3), plug the menu into lines 1-7 of the 
AIDS package, and you can use the 
same basic AIDS program to load any 
number of data files. 

After you type in RUN, the program 
asks if you've loaded a program yet. 
Answer anything but Y. The program 
then brings up the menu. By selecting 
the number of the desired data file, you 
can merge it with the original AIDS 
package. At the ready prompt, type 
RUN, answer Y this time, and press the 
enter key. 

Using this procedure, I'm able to get 
AIDS-III, MAPS-IU, MERGE-IH, 
CALCS-III, and eight data files (saved 
in ASCII), their descriptor files, and 
their record files on one disk. 



1 CLS:PRINT§596, "HAS A PROGRAM BEEN LOADED YET?": INPUT A$: IF 
A$="Y" THEN 10 ELSE 3 

3 CLS:PRINT§74, "THE FOLLOWING PROGRAMS ARE DEVELOPED:": PRINT32 
02, "1. VIDEO LISTINGS.": PRINTS266 , "2. FOOD CABINET INVENTORY.": 
PRINTS330,"3. FREEZER INVENTORY. ":PRINT03 94, "4. FRIENDLY PARTIES 
.":PRINTe458,"5. HOUSEHOLD INVENTORY." 

4 PRINTg522,"6. SUBORDERS.": PRINT§586 , "7. UNDEFINED.": PRINTg65 
0,"8. EXIT PROGRAM.": PRINT§842, "SELECT CHOICE...": INPUTN: IFN< 
10RN>8 THENCLS: GOTO 3 ELSE CLS 

5 IFN=1 THENPRINTG596, "MERGING VIDEO PROGRAM": MERGE "VIDEODES/F 
IL" ELSEIFN-2 THEN PRINT3596, "MERGING FOOD CABINET PROGRAM": ME 
RGE "FOODDES/FIL" ELSEIFN-3 THEN PRINTg596, "MERGING FREEZER PRO 
GRAM": MERGE"FREEZDES/FIL" ELSE6 . 

6 IF N-4 THENPRINT§596, "MERGING FRIENDLY PROGRAM": MERGE"FRENDDE 
S/FIL" ELSEIFN=5 THEN PRINT0596 , "MERGING INVENTORY PROGRAM": MER 
GE "HOUSEDES/FIL" ELSEIFN=6 THENPRINT3596 , "MERGING SUBORDER PROG 
RAM": MERGE "SUBSDES/FIL" ELSE7 

7 IF N-8 THEN STOP: ENDELSEIF N>80RN<8 THENCLS: FORI=1TO100 : PRI 
NT8596 , "UNDEFINED. . . " :NEXTI :GOT03 

Program Listing 3. Menu for the AIDS-III program. 



14 • 80 Micro, December 1983 



THE 

ALPHA 

JOYSTICK 

NOW ONLY $28 QO 

SPECIFY MOD I OR III 







30% 



DON'T WAIT! 

Limited time special 

Works with all 
joystick games. 

Model IV: order model III version 



Wllll C 



$59.95 NEWCLOCK-80 



MOD III 
version 






TIME w/o^ExpTlnt The complete package 



Wouldn't It be nice if your computer 
could always boot up with the right time 
and date and then stay accurate New- 
clock-80 will enhance your Model 1 or III 
system with powerful clock/calendar/ timer 
functions. 

Using LSI (large scale integration) and 
custom circuits, Newclock-80 provides 
MO/DATE/YR, HRMN SEC plus 
AM/PM and day of week and even takes 
care of leap years! It continues to keep time 
and date with quartz accuracy when the 
computer is turned off or experiences a 
power failure. A single battery lasts over 2 
years. 

Compatibility: Newclock-80 is 
compatible with any operating system, 
including DOSPLUS. NEWDOS. LDOS 
With its fully decoded circuitry it will work 
with any other hardware you may own. 
Bus expanders are available. 



Installation is very simple, no tools, no 
disassembly, no soldering. Just plug it in. 
that's all. There is no power supply or 
messy cable. Newclock-80 plugs into the 
rear of the keyboard © or side of the Exp 
Int. @. Model 111 Newciock fits the 50 pin 
card edge (underneath) Q 

The Software: Newciock 80 is as easy to 
use as it is to install. "SET*, a Basic 
program, is used only once to set the time 
and date and select 12 or 24 hour format. 
"TIMESTR". also in Basic, patches your 
computer "TIMES" function to read 
Newclock-80. It also adds "TIMES" to 
keyboard-only systems, a short routine is 
simply "poked" into low memory 

Newclock-80 uses 12 ports (176 to 188) 
6 for the time, 6 for the date. The data is 
conveniently stored in decimal form, no 
conversion is needed You can read or 
modify any digit using simple Basic "INP" 
and "OUT" statements. 



No risk trial. Order your Newclock-80 
today, see how easy it is to install and 
operate then decide within 30 days if you 
want to keep it. If for any reason you are 
not delighted with its quality and 
performance, you may return it for a 
prompt and courteous refund. 

Your unit will come complete O witn 
software on tape, detailed instructions, 
handy reference card, and a 90 day 
warranty. Specify Model I or 111. Software is 
also available on disk: add $5. 
Lithium battery (not included) available 
from RADIO-SHACK (*23- 162) or add 
SI. 50 to your order 

Thanks to outstanding engineering and 
efficient manufacturing. ALPHA Products 
is once again able to offer a great product at 
a surprising price. Order your Newclock-80 
at no obligation today. 

Toll Free Order Line 

800-221-0916 

Order* Only. NY t Into call 1212) 296 5916. Hours 9 5 E.S. T. 



jm ALPHA 

79-04 Jamaica Ave., Woodhaven, NY 11421 



(212) 296-5916 



ADD $2 SO PER ORDER FOR SHIPPING AND HANDLING 

WE ACCEPT VISA, MASTERCARD. CHECKS M O 

COD ADD $3.00 EXTRA 

NY RESIDENTS ADD SALES TAX 

OVERSEAS, FPO APO ADO 10% 

DEALER DISCOUNTS AVAILABLE 



INPUT 



Now if someone can show me a way 
to get Basic to run after a merge without 
typing in RUN, I'd really be happy! 

James T. Krywalski 
80 Lockwood A ve. 
Buffalo, NY 14220 

AIDS-m Error 

An error exists in the lowercase sup- 
port program modifications that ap- 
peared in the August 1983 issue of 80 
Micro (p. 12). The modifications sup- 
port the lowercase characters, but dis- 
able the up-arrow (Kl) key so it no 
longer functions to move the cursor to 
the previous entry lines. 

I corrected this by adding and chang- 
ing the following program lines to the 
AIDS-HI program, in addition to mak- 
ing the changes that appeared in the 
August 1983 issue. 

170 IFIC = 91THENIC = 6 

2000 U$ = CHR$(91): CC$ = U$+ CHR$(K2) + 

CHR$(K5)+ CHR$(K6)+ CHR$(K9) 
3744 DATA 13,6,10,8,9,27,26,24.25,31,3 

I use 123 instead of 6 in lines 170 and 
3744, but suggest the use of 6. It's 
shorter and appears to work, although I 
haven't tested it thoroughly. 

Also, line 640 of the August modifi- 
cations for AIDS-III has a slight error in 
the last statement. SV = FV$ should 
read SV$ = FV$ to conform with the 
original program and the MAPS-III and 
CALCS-III changes. 

Darrell Lee 

The Food and Drug Administration 

c/o Administration Building, 

Room 1033 

1745 W. 1700 South St. 

Salt Lake City, UT 84104 

Maze Chase PEEK 

The changes in Program Listing 4 are 
for Leonard Karr's Maze Chase game 
(August 1983, p. 272). They let you hold 
one key down and continue to move un- 
til you release the key. 

Mike Cessna 

610 N. 54th St. 

Springfield, OR 97477 

High-Speed POKE 

For the Model 4 owner, Model III 
software operates at the Model 4's 
higher speed by utilizing the following 

POKE from Basic: 

POKE 16912,104 (to speed up) 

POKE 16912,40 (to slow down) 

When assembled, the source code in 
Program Listing 5 permits toggling the 

16 • 80 Micro, December 1983 



speed-up off and on from the DOS 

READY command line. 

R. L. Stuart 
15434 Sherman Way 
Van Nuys, CA 91406 

More on the Model 4 

Regarding the Model 4 review, 
"Once More, with Feeling" (August 
1983, p. 100), I've found that other 
commands not supported by Microsoft 
Basic 5.0 include Set, Reset, and Point, 
limiting graphics production. 

Also, space delimiters required after 
reserved words in Microsoft Basic 5.0 
don't take up additional memory. The 
program removes these spaces when it 
converts Basic commands to single-byte 
tokens, and they are restored at print or 
list time. 



It is true that the conversion utility 
(CONV) lets you copy files from TRS- 
DOS 1.2 and 1.3 formatted disks to 
TRSDOS 6.0 formatted disks. How- 
ever, this conversion is of minimal help 
in converting Model III Basic to Micro- 
soft Basic 5.0 because mapping Basic 
commands to single-byte tokens is en- 
tirely different in the two Basics. 

Finally, my greatest frustration is the 
unavailability of the Model 4 Technical 
Reference Manual referred to in the 
Model 4 Disk System Owner's Manual. 
Without this manual, it's impossible to 
interface Assembly language with either 
the Model 4 hardware, or with 
TRSDOS 6.0. 

Gregory E. Nutt 

23 Pendleton Lane 

Londonderry, NH 03053 



2100 L-PEEK(14400) 

2110 IF L*8ANDPEEK(S+PL-64) ... 

2120 IF L-32ANDPEEK(S+PL-3) ... 

2130 IF L-16ANDPEEK(S+PL+6 4) ... 

2140 IF L«6 4ANDPEEK ( S+PL+3 ) . . . 

3070 PRINT" UP ARROW MOVES YOU UP" 

3080 PRINT" DOWN ARROW MOVES YOU DOWN" 

3090 PRINT" LEFT ARROW MOVES YOU LEFT" 

3100 PRINT" RIGHT ARROW MOVES YOU RIGHT" 

Program Listing 4. PEEK for Maze Chase. 



00100 ; 
00110 ; 
00120 ; 
00130 ; 
00140 ; 
00150 ; 
00160 ; 
00170 
00180 
00190 
00200 
00210 
00220 
00230 
00240 LPl 
00250 LP2 
00260 



* SPEED/SRC 

* Speed Toggling Program 

* For Model III Software 

* Used on TRS-80 Model 4 



ORG 
LD 

LD 
CP 
JP 
LD 
JP 
LD 
JP 
END 



0FF00H 
HL, 16912 
A, (16912) 
104 
Z,LP1 
(HL) ,104 
LP 2 

(HL) ,40 
402DH 
0FF00H 



; PROGRAM LOAD ADDRESS 

;HL POINTS TO SPEED ADDRSS 

;A-VALUE IN SPEED ADDRESS 

;IS IT 104? (HIGH)? 

;IF HIGH, JUMP LPl FOR LOW 

;IF LOW, MAKE HIGH 

;AND JUMP LP2 TO EXIT PGM. 

;IF HIGH, MAKE LOW (40) 

;JUMP TO DOS READY 



Program Listing 5. Speedup toggling program for the Model 4. 



470 IFPEEK(14312) 061THEN PRINT@960, "PRINTER NOT READY"; : GOTO 470 

ELSE LPRINT CHR$( 15) TAB( 10) TY$:LPRINT 
475 LPRINT CHR$(27) "U" : IFMV<8THENQ=1 :GOT04 80 ELSE Q=9 



"CHR$(R+64) " 
LPRINT TAB(5) A5TAB(9) 
LPRINT 



476 LPRINT TAB(5);: FORR=l TO 8: LPRINT " 
";: NEXT: LPRINT: LPRINT: FORA5=l TO MH+1 

;: FORR=l TO 8:TS=MIDS{ A$( A5) ,R*15-13 ,14) : GOSUB 510: NEXT 

477 IF A5«=MHLPRINT TAB(5) STRINGS ( 120, "-" ) 

478 NEXT: LPRINT: LPRINT: LPRINT 

480 LPRINTTAB(5) ; : FOR R=Q TO HV+1 : LPRINT " "CHRS(R+6 4) 
: NEXT: LPRINT: LPRINT: FOR A5=l TO MH+1: LPRINTTAB(5 
) A5 TAB(9);: FOR R=Q TO MV+1 : T$=MID$ ( A$( A5) ,R*15-13 ,14) : 
10: NEXT: LPRINT 

490 IF A5*MHL PRINTTAB(6) STRINGS ( 15* (MV-Q+2) ,"-" ) 

500 NEXT: LPRINT: LPRINT: LPRINT: RETURN 

510 V=VAL (T$) : IF V=0 LPRINT" "T$;:RETURN 

520 LPRINTUSING " #•*##*#• . #t";V; :LPRINT" ";:RETURN 

Program Listing 6. Adjustment program for Minicak. 



GOSUB 5 



NOW MODEL I AMD MODEL III ! 



Now Model III users can take advantage of the ALPHA I/O system too. Our new 
MOD III/I BUS CONVERTER allows most port based Model I accessories (such as 
our ANALOG-80, INTERFACER 2 and INTERFACER-80) to connect to the Model III 
bus. MOD III/I BUS CONVERTER, complete with all connectors, only $39.95. 






>ro?' 



2 Printers' 



PRINTSWITCH 

Have 2 printers on line at an times ana select printer 1 o- 
2 by means ol a conveniently located switch End the problem 
ol constantly plugging and unplugging pnnter cables PHif.r- 
SWITCH is a compact module that plugs onto the pareifei printer 
port ol your IRS-80 and provides an edge connector tot each 
ol your two printers It works with any two types ol printers 
dot matnx. daisy wheel, plotters IRS-80 converted select rtcs. 
etc Assembled tested, ready to use with connector and in- 
structions. For Model i or III tpiease specily) ONLY $59 00 



©s 
©ED 


40P*v8" 

34 Pm. 54 


<P CABLES 1 

p p p p 


©£D 


MHfcM 

34 P»v 41 
40 Pin. 2 a 


4fi rp 



SUPERIOR QUALITY REPLACEMENT & EXTENSION CABLES 
Highest quality cable and high torce. gold plated contacts 

ensure the utmost in connection reliability 

O KEYBOARD TO EXPANSION INTERFACE $21 

© DISK DRIVE CABLE FOR 1 OR 2 DRIVES $32 . 

• DISK DRIVE CABLE FOR 3 OR 4 DRIVES $45 
e DISK DRIVE CABLE EXTENDER $22 

• PRINTER CABLE EXTENDER $24 

• 40 PIN BUS EXTENDER 2 ft . $22 4tl $24 
Custom cable conligurations are aiso available Call us 



\a 




5 xa xs X2 



YOU ASKED FOR IT EXPANDABUS XI X? X3 AND X4 
CONNECT ALL VOUR IRS 80 DEVICES SlMUiTAV 
on the 40 pin TRS 80 bus Any device that normally plugs 
■nto the keyboard edge connector will also piu<; 
LXPANOABUS The X4 is shown with protective 
"eluded) The TRS 80 keyboard contains me bus 
Olivers I741S367I tor u p to 20 devices more than you *,,, 
ever need Using the E / 1 it plugs either between KB and E ' 1 
or in me Screen Printer poll Professional quality gold 
Cialed contacts Computer grade 40 conductor ribbon caole 
«? $79 X3 S44 X4 $59 

Custom configurations are also available call us 




ANALOG 80 A WORK) Of NFW APPl ICATI0NS P0SSI6lf 



Very easy to uS« lot example let I redd inpul f linnet *4 10 

OUT 4 Selects input M and a'so starts the conversion ?0 
A ■ INP(0I Puts the result in variable A Voiia' 
Specifications Input range 0-5V to 500V Each ctonne' 
can be set to a different stale 

Resolution ?OmV(on5V range i Accuracy 8 bits l 5% l Port 
Address lumper selectable Plugs into keyboard bus or E'i 
i screen printer pet i Assembled ana tested 90 day warranty 
Complete with power supply connector "'anua $t39 



SPECIAL THIS MONTH ' 



$8 9 - 5 " 



DISK ORIVE EXTENDER CABLE. FREE YOUR MINI-DRIVES 

End the daisy-chain -'ess oxu .re! lor i F'ts i mini 
drives, "ercor- Ae'ocomc S^-qal Micropoiis VTi. vista 
Pe'lec Siemens BASF East Id install ;..-,; -emu, 
cover, plug in the EXTENDER CABLE and replace the cover 

Now you can change and move your drives without dis 
assembly Keep the cover on and the dust out High reliability 
gold plated contacts computer grade 34 conductor cable 
'ested and guaranteed 

Get one lor each drive ONLY SB. 95 




TIMEOATE 80 REAL TIME CLOCK/CALENDAR MODULE 
Keeps quart/ accurate I 

dad I Gives M 
WEEK 'in MIN MAM/PH I 

CAI FNDAR and even provides 101 I ~> compact 

module simply plugs MM I t H " .'> : 

includes 
at) • and patching to any DOS 

< mr Hiding NFWfX 

'or further expansion im Model I Fully assembled and 

lilt ONIY 
■ :• " 

powe^eiay^iii: 

v< >ur | 




■ C 




? 



INTERFACER-80 •■• n • oowertui Sense' Control module 
18 mOuSf* orad* t lys J ogle po.e double m'ow isolated 

■ '.i. '■ ;■ •', • . .i ' .". Vu 'l ' - :' l'e: . .'. .'•■■:. .' 

... , : 

18 ecnvemeni I EDs c onstantty display the relay stales 
Sanpte OUI commands i moasic i control the 8 relays 
8 optica** iso4atefl inputs lor easy direct menacing to 

lit xocals keypads sensors etc 

Scope iNP commands read the status ot me 8 inputs 

SMeciiMe pen address Clean, compact enclosed design 

«• Died rested. 90 days warranty Puce includes powei 

cable connector super) $iS9 



GREEN SCREEN 

WARNING 

BM and ai tie Biggies are using green sceen ".onitois 
■is advantaqes are now wifleiy advertised We feel thai eve'y 
TRS-80 user snoud enioy me benefits it provides But 
WARNING a r-reen Screens are not created equal Here is 
what we found 

•Several ate iust a fiat piece ot standard colored luote Trie 
green tint was not made lor this purpose and is judged by 
many to be loo dark Increasing the brightness control will 
result in a tuHy display 

•Some are simply a piece of thin plastic film taped onto a 
cardboard frame The color is satisfactory but the wobbly him 
gives it a poor appearance 

•One Optical filler is m tact platn acrylic sleeting 
•False claim A tew pretend to reduce glare' intact their 
"at and shiny surfaces (both film and Lucite typei ADO their 
own reflections lo the screen 

•A few laughs One ad claims lo ' reduce screen contrast ' 
Sorry gentleman but it's |ust the opposite One of the Green 
Screen's maior benefits is to increase fhe contrast between 
the text and the background 

•Drawbacks Most are using adhesive strips to fasten men 
screen to the monitor This method makes it awkward to 
remove lor necessary periodical cleaning All fe> ••; . 
are Hat Light pens will not work reliably because of me big 
gap between the screen and the tube 
Many companies have been manufacturing video filters for 
years We are not the first (some think they ate > hut we nave 
done our homework and we think we manufacture me best 
Green Screen Here is why 

eft fits right onto the picture tube like a skin oecause it is the 
, CURVED m ih. MOLDED exactly lo Ihe picture lube 
curvature It is Cut precisely to cover the exposed area of the 
picture lube The In is sucn that Ihe static electricity is 
sufficient to keep it m place 1 We also .nciuoe some invisible 
reusable tape tor a more secure fastening 
•The finer material mat we use is iust right not too dark nor 
too light The result is a really eye pleasing display 
We are so sure mat you wilt never take your Green screen oil 
that we offer an unconditional money-back guaraniy try our 
Green ■sc-ten lor 14 days it for any reason you are not 
delighted with it. return it for a prompt refund 
A last word We think that companies nke ours who are 
selling mainly by mail should «list men street address«nave a 
phone numper 'for questions and o'derswecept CODs nol 
every one likes to send checks to a PO boxaoMer the 
convenience of charging their purchase to major credit cards 
how come we are me only green screen people doing it' 
Order your ALPHA GREEN SCREEN today $1 2 50 




ALPHA Products 



ADO S? SO PER OROER FOR SHIPPING ANO HANOI IN(P 

All ORDERS SHIPPEO FIRST CLASS MAIL 

WE ACCEPT VISA MASTER CHARGE CHECKS MO 

COO ADDS? 00 EXTRA 

OUANIITY OISCOUNIS AVAILABLE 

N V RESIDENTS A00 SALES TAX 



79-04 Jamaca Ave., Woodhaven, N.Y. 11421 S info and order: (212)296*5916 



AID 



Selecting Records 

I'd like to select records in a variables 
file when merging with the master file in 
Scripsit. Does anyone know of a pro- 
gram that will accomplish this? It would 
also be nice if the selection criteria could 
accommodate more than OR or AND 
connectives. 

Paulo Guarinetto 

Emiliano Pemeta, 837/802 

Curitiba, Parana 

Brazil 

Up and Running 

Can someone help me get Microsoft's 
Level II Basic Compiler up and running 
on a Model III? 

John S. Letcher Jr. 

P.O. Box 104 

Southwest Harbor, ME 04679 



Line-Renumbering Program 

I have a Model III cassette operating 
system. After writing lengthy programs 
in Bask, I desperately need a line renum- 
bering program. Does anyone know 
where I can get such a program? 

Robert Leland 

737 Knollwood Lane 

San Dimas, CA 91773 



Sell Me Yours 

I can't find Microsoft's Extended 




Searching 

for 
answers 



muMath for the Model III anywhere. 
Does anyone know where I can get a 
copy? If you're willing to sell yours, 
contact me. 

Kenneth Meyer 

1314 Ault View Ave. 

Cincinnati, OH 45208 



Needs a Conversion Program 

I have been using a Wang 2200 B 
system for several years, and now that I 
have a Model II, I have no way to access 
my engineering programs on the Wang 



disks. I'd like to know if there's a refor- 
matter/conversion program available 
that can exchange data files from Wang 
to TRSDOS and vice versa. 

Julio E. Sosa 

P.O. Box&473 

Panama City 

Republic of Panama 

A Call from Nature 

I'm a teacher at a natural resource 
college, and I'd like to hear from others 
on how they use their TRS-80s in the 
natural resource fields. Also, I'd like to 
know how to get double-width charac- 
ters in Assembly language. 

Robert Johnson 

274 Grey St. 

Brantford, Ontario N3S 4W8 

Canada 



Footnotes 1 

I'm looking for a Model I footnote 
program integrated with Scripsit that 
features pagination, formatting, and 
numbering. Can anyone help me? 

Also, has anyone figured out how to 
save either a Basic or ASCII file onto 
tape from the Atari 400 and then read 
that tape into a Model I? 

E. Judson Jennings 

299 Ridgewood A ve. 

Glen Ridge, NJ 07028 



Radio Shack TRS-80 



MODEL 4 UTILITIES 

■ W His WIOM. 4 UMF.R3 

Utilities to K»ii Hodel * features while in 
Model III Bode. 

Increase tour Processing Speed l« <•!') 

lent nmmov, Clip to \?SL'i louline 

Llear Hraory flout I ne 

Use Souad (lieepj 



All jour Utilities on Diskette 
IW.99 



SUPERSCRIPSIT 
PRINTER DRIVERS 



Mlttl *n *i.P5 printer driver Isoftuare J . you can 
ettaoll your primer to the JuperSUKIP:.. * " 
procesaer. Over 50 printers now supported, Csll 
or write for latest ProdMSt Review ..!...■•.••.. %>,<f 



Mail / Phone Orders Accepted 

ALPS 

23 Angus Road 
Warren, New Jersey 07060 ■ 

201 • 647-7230 ■ 
18 • 80 Micro, December 1983 



PAPER 



V TOP QUALITY FANF0LD BOND 
9 ': i 11 size fits nasi camputer primer i 
Perlorsted both sidts. snapi out to B .• i II sheet! 

v/ FREE SHIPMENT - NEXT DAY 

From lur CA. IL. NJ ind GA wirehoutes 

V LOW PRICES - INCLUOE REGULAR UPS 

20 Ik. wMti heai. 2500 starts 30.95 

IS Ik. whin kaad. 3000 sheets 32.95 

15 Ik. white kaad. 3200 shafts 32.95 

20 Ik. smooth-edee kaad. 1000 sheets 22.95 

20 Ik. s w iattadje kaad. 2500 sheets . . 39.95 

20 Ik. sm«h-ed|e res, kaad. 2300 sheets B9.95 

CALL TOLL FREE: 1 - 800-628-8736 

Open M-F 7 Hem S 1 5pm P&T In CA. cell |213| 804 1270 

A-1 COMPUTER PAPER CO. 

405 E. Third #206. Long Beach CA 90802 

We accept checks. MO s. American Eipress. Visa. 
MC. and purchase orders subject to credit approval. 
For COO. add S2 per order. No orders accepted 
from outside continental U.S. Calit residents add 
6 : : las. Satisfaction guaranteed. 

CALL FOR SUPER QUANTITY DISCOUNT PRICES 



TABLES 



<& 



SUCH 



A line of solid computer furniture of 
sufficient size to accomodate your 
computer with space for your working 
papers. Designed to be lifted apart lor 
easy cleaning, moving or storage. 

The hardwood veneered tops of oak or 
birch are trimmed with select 11/2" 
hardwoods. The basic computer table top 
is 26' x 4d" wiUi the printer tabletop 
of 18" X 24". 

Unfinished, the computer table is S90.00 
and the printer table le SbO.OO. 
r'inshed, the computer table is S120.00 
and the printer table is $90.00. plub 
shipping. 



For further informatic 
write or call; 



or to order 



wooaen Hen 

4665 Huhle ha. 

Coleman, Michigan 48618 

(517) 465-6441 





CITOHProwriter$375 
CITOHProwriterll$649 




CoCo Drive $329 
CoCo Drivel $235 



• 

r«l_ 


• 

iMOf B 


■---• can ; 




DWP210$629 



BUY DIRECT 



Here are just a few of our fine offers . . . 
call TOLL FREE for full information. 



COMPUTERS 




PRINTERS 




DISK DRIVES 




ModeM264K1 Drive 


$2699 


Smith Corona TPI D.W. 


469 


R.S. Model 4 Drive 


515 


ModeM2 64K2Drive 


3375 


Silver Reed EXP500 D.W. 


425 


Color Computer Drive 


329 


Model416K 


849 


Silver Reed EXP550 D.W. 


645 


Color Computer Drive 1 


235 


Model4 64K 




Daisy Wheel II 


1745 


Primary Hard Disk M12 


2689 


2 Disk & RS232 


1699 


DWP210 


629 


Primary Hard Disk Mill 


1799 


Model 4 Portable 




DWP410 


1159 


ETC. 




64K2Disk 


1525 


CGP115 


159 


CCR-81 recorder 


52 


Color Computer II 16K 


145 


CGP220 Ink Jet 


545 


C.C. Joysticks (pair) 


22 


w/16Kext basic 


210 


DMP100 


215 


16K Ram Chips 


25 


w/64K ext. basic 


305 


DMP120 


395 


64K Ram Chips 


75 


Pocket Computer 2 


165 


DMP200 


520 


8K Pan Par Microfaser 


135 


Model 16B1Dr256K 


4249 


DMP420 


735 


Printer Cables 




Model 16B2Dr256K 


4915 


DMP500 


1219 


Printer Stands 




ModeM00 8K 


679 


DMP2100 


1745 


Printer Ribbons 




ModeM00 24K 


835 


Gemini 10X 


315 


Printer Paper 




MODEMS 




Delta-10 


515 


Dust Covers 




Hayes Smartmodem II 


235 


Gemini 15 


425 


Computer Books 




Hayes Smartmodem 1200 


565 


CITOH Prowriter 


375 


R.S. Software 10% otf list. 




Novation Smartcat 1200 


459 


CITOH Prowriter II 


649 


Send for listing ot 




Novation J-Cat 


125 


Okidata 


CALL 


brand name software. 




R.S. AC-3 


129 


Epson 


CALL 






R.S. Modem I 


89 










R.S. Modem II 


160 






TAII BDCB 






We have the lowest possible 
Fully Warranteed Prices AND 
a full complement of Radio Shack 
Software. 



Prices subject to change without notice. 
Not responsible for typographical errors. 
TRS-80 is a registered trademark of Tandy Corp. 



1-800-343-8124 





com 



P.O. Box 1094 
480 King Street 
Littleton, MA 01460 
617-486-3193 



plus- 

| Writ* for your 
tree catalog ^ 18 



SINCE 1973 — 



• See List of Advertisers on Page 291 



80 Micro, December 1983 • 19 



DEBUg 



Now You Can Talk 

There is an error in Program Listing 5 
of Douglas Payne's article, "Talk to the 
Big Guys" (September 1983, p. 230). In 
the program UT5, lines 1490, 1510, 
1580, 1630, 1650, 1700, 1720 have been 
incorrectly printed as DEFB "'. You 
must change them to read DEFB '27H' 
for the program to work correct- 
ly.— Eds. 



Blackjack 

The last part of line 1230 and all of 
line 1240 is missing in Program Listing 4 
of my "Model II Casino" article (Au- 
gust 1983, p. 148). These lines should 
read: 




Flaws 
and 
fixes 



1230PRINTCHRJ(2);:PRINT@L," " 

:PRINT@L + 80," ":PRINT@L+ 160," " 

:PRINTCHR$(1);:RETURN 

1240 PRINTCHRJ(2);:L = 683:GOSUB1230 

:RX = R6:GOSUBl 160:T$ = M$(R6) 

:GOSUB1200:PRINTCHR$(1);:RETURN 



IRAND: PUSH HL 

CALL RANDOM ;reinitialize random numbers 

POP HL 

LD A,(HL) ;and so on 



Figure 1. Calling Random. 



Also, in the "Black Friday" conver- 
sion program (Take II, July 1983, p. 
342), the last equals sign in line 510 
should be an asterisk. 

Byron Lott 

913 Inverness Way 

Sunnyvale, CA 94087 



A Random Breakout? 

There is a minor problem with J.B. 
Harrell's "Fortran Breakout" article 
(July 1983, p. 186). The IRAND func- 
tion in USRLIB/MAC isn't very ran- 
dom after the first two or three calls (to 
be sure, I checked the routine with 
TASMON). It does have an easy fix, 
however. Just call RANDOM every 
time (see Fig. 1). 

In addition, three bytes can be saved 
for each of the one-command calls 
(CLS, RANDOM, GETCH) by simply 
setting the entry equal to the address 
(ex. CLS EQU 01C9H). 

Mary Jo Kostya 

Oppenheimer Str. 17 

D-6000 Frankfurt 70 

Federal Republic of Germany 



100% RS COMPONENTS, NO FOREIGN DRIVES OR MEMORY — FULL WARRANTY 



^v 






MOD 12 MOD 4 MOD16B 

1 DR 80K $2499 16K Ext. Bas. $ 799 1 DR 256K $3898 

2 DR 80K $31 49 64K 2DR RS232 $1 579 2 DR 256K $451 

CASHIERS CHECK OR MONEY ORDER MUST ACCOMPANY ALL ORDERS. 

(817) 825-4027 

NOCONA ELECTRONICS • P.O. Box 593 * Nocona.TX 76255 



s r.\2 



20 • 80 Micro, December 1983 



The Answer is... 

NEWSCRIPT! 



THE WORD PROCESSOR 
FOR BUSINESSMEN AND 
PROFESSIONALS 

With ongoing support directly 
from us 

A FEW OF NEWSCRIPT's 200 
STANDARD FEATURES: 

• FORM LETTERS WITH MERGING OF NAMES AND ADDRESSES 

• GIVTS SUPERB APPEARANCE TO YOUR FINAL DOCUMENTS 

• COMPREHENSIVE MANUAL WITH TUTORIAL AND EXAMPLES 

• CENTERING. TOP BOTTOM TITLES. INDENTS. PAGINATION 

• UNDERLINING. BOLDFACE. DOUBLE-WIDTH. ITALICS* 

• SUB SUPER SCRIPTS. RIGHT JUSTIFIED PROPORTIONAL* 

• CREATES TABLE OF CONTENTS. SORTED INDEX 

• "LEGAL" LINE NUMBERING 

• SCREEN GRAPHICS. SPECIAL PRINTER SYMBOLS* 

• SEARCH REPLACE GLOBALLY OR WITHIN LINES. COLUMNS 

• BLOCK MOVE. COPY. DELETE. INSERT. FILE MERGES 

• AUTOSAVE. WHOOPS. DIRECTORY. KILL 

• SUPPORT FOR ALL LISTED PRINTERS IS INCLUDED •• 
(NO PATCHES INVOLVED) •• 

• SUPPLIED READY-TO-RUN ON "TINY" DOSPLUS 

• ALSO RUNS UNDER NEWDOS 80. LDOS. MULTIDOS. TRSDOS 




BUILT-IN SUPPORT FO 

MOST POPULAR 
PRINTERS^ INCLUDING: 

Anadex. Brother. Centronics. C.Itoh. Diablo. Epson. Gemini. 
Microline. NEC. Prowriter. Qume. Radio Shack (LP 1-8, DW2. DMP- 
410. DWP 200-2100). Smith Corona. Teletype. Typewriter, anything 
compatible with any of these, and many others, parallel and RS-232. 

SPECIAL AVAILABLE OPTION: Right-justified 
proportional for Diablo. F-10. Qume. Spinwriter. 
etc. Requires "Daisywheel Proportional" Option 
plus NEWSCRIPT. /*""S 

REVIEWERS AND USERS AGREES^ 



NEWSCRIPT 7.1: 

Mailing Labels Option: 

Special: NEWSCRIPT + LABELS: 

Daisywheel Proportional Option: 

"Pencil" /"Scripsit" File Converter: 

NEWSCRIPT Manual & Reference card only: 

Electric Webster + Correction Feature: 

Hyphenation Feature for Electric Webster: 

Grammatical Feature for Electric Webster: 

Dotwriter3.0: 

Dorwriter + Letter Utilities: 

6.0 PLUS-MSS Model 4 utility pak 



$124.95 
29.95 

139.95 
49.95 
24.95 
29.95 

149.50 
49.95 
39.95 
79.95 
99.95 
49.95 



"NEWSCRIPT" is the best 
word procesoi I have seen 
. . . unsurpassed in printer 
control ... no other 
TRS-80 word processor 
can match its ability to 
format text ... its editor is 
fast, easy, and powerful." 
(80 MICRO. Oct. 1982) 

"Your phone information 
system and the prompt 
and courteous staff that 
you provide to help your 
clients . . . are worth the 
cost of the system." 
(V.H.H.) 

"Better than cold beer on 
a hot day!! Thank you!!" 

(R.S.) 

"What a program. So easy 
to learn and easier to use. 
I waited too long before 
ordering!" fPJ.M.) 



". . . takes the TRS-80 to a 
new level of text handling 
. . . very user- friendly . . . 
superb documentation, 
adaptability to many 
printers and operating 
systems ... a standard 
against which other 
TRS-80 word processing 
programs will be judged." 
(SOFTSIDE. Dec. 1982) 

". . . ongoing support 
second to none, with 
superb documen- 
tation." (80 U.S. Journal. 
Feb. 1982) 



c 

c 



REQUIRED CONFIGURATION:. 

48K TRS-80. MAX-80. LNW. or 
compatible, with one or more 
disk drives. Specify Model I or 
Model III. 
f some features work only if your 

printer has the mechanical 

capability. 
** Daisy Wheel Proportional is an 
extra-cost option. 

TO ORDER, CALL NOW, 

TOLL-FREE: (800) 

824-7888, Operator 422 

For orders, information, or names of nearby dealers- 
(213) 764-3131. or write to us. 

Order from your Software dealer or from: 
Dep't. C, Box 560 No. Hollywood, CA 91603 

TERMS: VISA, Mastercard, checks, money orders. COD No P.O.'s accepted. Most orders shipped 
within 24 hours. Please add 83.00 for surface LPS in U.S.A.. or 96.00 for UPS Blue Label. Add $6.00 in 
Canada. 615.00 overseas air shipment. 6 l ?% sales tax in California. 




THE NEXT STEP 



by Hardin Brothers 



Last month, I explained a simple util- 
ity that displayed all current vari- 
ables in a running Basic program. This 
month, as promised, I'D explain how to 
add a new feature to that utility: the 
ability to display the current value of 
any current variable. 

After the program displays each 
screen of active variables, you'll be able 
to either press the enter key to go on to 
the next page or type in a variable name. 
If you enter a variable name, its value 
appears on the screen until you press a 
key; then you again face the choice of 
pressing the enter key or typing in an- 
other variable name. 

Much of Program Listing 1 is iden- 
tical to last month's program. Realizing 
you probably won't want to type in the 
same program again, I've marked all 
new or modified lines with an asterisk at 
the beginning of the comment column. 
Some line numbers have changed, but if 
a program block doesn't have any 
marked lines, you won't need to change 
anything in the source code. You will, 
however, have to delete lines 2550 and 




'torrej. 



illUJL 



Displaying 

the values 

of variables 



2610-2670 from last month's program. 
After you've added the new lines, type 
N 100, 10 and be sure you end up with 
the same last line as the listing. 

The first major change in the pro- 
gram, aside from some new EQU state- 
ments and a new ORG address, occurs 
in lines 960-1040, where I've added a 



Address Description 

RST 18 hex Compares the values in ihe DE and HL register pairs. Sets flags to show results: 

Carry HL<DE 

No Carry HL> = DE 

Zero HL = DE 

Not Zero HLODE 

0049 hex Waits for single keyboard input — returns ASCII value of input key in A regis- 

ter. Uses AF and DE registers. 

01C9 hex Clears screen, resets cursor to top of screen, sets 64-character mode, and turns 
off cassette port (Basic's CLS routine). 

033A hex Displays character in A on screen at next print position. Uses AF. 

05D9 hex Inputs line from keyboard. On entry, HL points to buffer to hold input, B holds 
maximum number of characters to input. You terminate input by pressing the 
enter or break key. On output, HL points to start of text, B equals actual input 
length (except terminator), C holds original value of B, A holds ASCII value of 
terminating character, C flag is set only if input is terminated with the break key. 

0A9A hex Current value in HL is loaded into Basic's workspace/accumulator, and the 
variable type flag is set to 02 (integer). 

0ACC hex Value in workspace/accumulator changed from integer to single precision. 

0FDB hex Converts value in work workspace/accumulator into display form, and returns 
address of resulting string in HL. 

2540 hex Loads value of variable into workspace/accumulator. On entry, HL points to 

first character of variable name. On exit, HL points to first character following 
variable name. 

2B75 hex Output a string to current output device. On entry, HL points to first character 

of string, which must end with a zero byte. 

Figure. ROM routines used in the variable display programs. 



flag-handling routine. This program 
uses ROM routines to read and decipher 
the keyboard. However, the entire pro- 
gram starts with decoding a special 
combination of three keys: the shift, 
down-arrow, and V keys. If the utility is 
active (displaying variables) and the op- 
erator again pushes the control/V key 
combination, the program doubles 
back on itself recursively. The screen 
and cursor buffers are overwritten, and 
the program ends up in an endless loop. 

To avoid such problems, line 970 
reads a flag that shows whether the util- 
ity program is currently running. If the 
program sets the 1-byte flag to zero, it 
ignores control/V and invokes the regu- 
lar keyboard driver. If the utility pro- 
gram sets the flag to any other value 
(generally OFF hexadecimal (hex)) it 
knows that it's not currently running 
and lets itself be invoked. The utility 
sets the flag to zero when you enter the 
program and resets to OFF hex during 
the Done routine as the program returns 
control to Basic. 

The flag avoids the problems that re- 
cursion would create, but it can cause 
another problem: Some ROM routines 
that the program calls generate an error 
condition. If an error occurs, the ROM 
routine reports the error on the screen 
and returns control to Basic's READY 
prompt, bypassing the normal flag reset 
in Done. The flag remains set at zero 
and you won't be able to use the utility 
because it reacts as if it's already being 
used. To reactivate the program, you 
have to POKE any non-zero value into 
the flag's location (0BFFF hex if you 
don't change the ORG value). 

The second addition to the pro- 
gram is the routine called NOKEY. 
I found that 1 occasionally fail to 
release the control/V key sequence 
quickly enough, so one of the keys is 
read as part of the variable name. The 
NOKEY routine guards against this by 
refusing to let the program start until 
you've released all the keys. The B regis- 
ter is used as a counter to help delay the 
NOKEY reading to avoid keybounce. If 
you still have a problem with spurious 
key reads, increase the time of the loop 
by using BC as a counter. 

The ENDSCR routine is almost en- 
tirely new and contains the crux of this 



22 • 80 Micro, December 1983 



THE NEXT STEP 



month's modification. After correctly 
positioning the print cursor, the pro- 
gram prints a CHR$(1F hex) on the 
screen. That control character clears the 
screen from the present print position to 
the end of the screen. This is necessary 
to erase any characters left from a 
previous variable and value display. 

Then, after the program displays the 
prompt message, line 2830 points HL at 
an input buffer and sets B to the 
buffer's length in preparation for ac- 
cepting a typed-in variable name. Since 
both DOS and Basic have input buffers, 
you may wonder why they weren't used 
instead of dedicating space to a third 
buffer. I didn't use the DOS buffer be- 
cause there is no guarantee it will be in 
the same position with different DOS 
systems, or with different versions of 
the same DOS. I left the Basic buffer 
alone because you might want to call up 
the variable display while writing or 
editing a line of Basic and not wish to 
return to a line filled with garbage. 

After you set up HL and B, the pro- 
gram calls the ROM routine LINEIN. 
This routine accepts keyboard input of 
a string up to the maximum length set in 
register B. With each keystroke, the 
character appears on the screen and is 
stored in the buffer to which HL points. 
The routine reacts normally to back- 
spacing and other control characters. 
On return, the B register contains the 
number of characters actually entered 
except for the terminating character 
(enter or break). If you press the break 
key, the program sets the carry flag. 

If you press the break key during 
variable input and set the carry flag, the 
program loops back to the prompt and 
again awaits operator input. If B equals 
zero, you pressed the enter key without 
any additional characters, so the screen 
clears and control returns to the display 
routines. 

If you input any additional charac- 
ters, the program assumes it has a 
variable name in the buffer. First, the 
program establishes a new cursor posi- 
tion. Then it prints the variable name 
followed by an equal sign. The program 
points HL at the variable name again 
and calls the ROM routine VALACU. 
VALACU (2540 hex) is a complex 
routine that takes the variable name at 
which HL points, evaluates that vari- 
able, transfers its value to the low mem- 
ory accumulator, and sets a flag to indi- 
cate the variable type (integer, string, 



Program Listing 1. Current variable display. 



033A 
2B75 
01C9 

0A9A 

&ACC 
OFBD 
05D9 
2540 
40AF 
0049 

4016 
4020 

3804 
3840 
3880 

3C00 
3F7B 
3F88 



40F9 
40FB 
40FD 



B9C5 
B9C8 
B9CB 
B9CC 
B9CE 
B9D1 
B9D5 
B9D6 
B9DA 



2A1640 
11 DDF, 9 
DF 
280C 
22F0B9 



00100 

00110 

00120 

00130 

00140 

00150 

00160 

00170 

00180 

00190 

00200 

00210 

00220 

00230 

00240 

00250 

00260 

00270 

00280 

00290 

00300 

00310 

00320 

00330 

00340 

00350 

00360 

00370 

00380 

00390 

00400 

00410 

00420 

0C430 

00440 

00450 

00460 

00470 

00480 

00490 

00500 

00 510 

00520 

00530 

00540 

0055C 

D0B6C 

00570 

00580 

00590 

00600 

006 10 

00620 

0O63C 

00640 

00650 

00660 

00670 

006 80 

006 90 

00700 

00710 



Current Variable Display * 

* 

On <Shift> <Dwn-arrow> <V> * 
shows two screens (or more)* 
1st — all defined, simple * 

variables * 

2nd — all defined array * 

variables * 

* 

After each screen, values * 
of current variables may * 
be listed. * 



[Listing of routines and addresses: 



PR1ST1 
PRINT 
CLS 
HLACUM 

ACINSN 
ACUSTR 
LINEIN 
VALACU 
VTFLAG 
WAITKY 

KBDVR 
CURSAD 

ROW 3 
R01.-7 

RGW8 

VIDEO 

ENDDSP 

PRTPOS 



SVT 
AVT 
FREE 



EQU 
EQU 

EQU 

EQU 
EQU 
EQU 
EQU 
EQU 
EC'-' 
EQU 

EQU 

EQU 

EQU 

EQU 
EQU 

EQU 

ECU 
EQU 



033AH 
2B75H 
01C9H 
0A9AH 
0ACCH 
0FBDH 
05D9H 
2540H 
40AFH 
0O49H 

40161! 
402011 

380411 
3840H 
3880H 

3C001I 
3F7BH 
3F88H 



;PRINT 1 CHAR. 
; PRINT STRING 
; CLEAR SCREEN 
;HL==> RAM ACCUMULATOR 
;ACCUM. VALUE INT=>SINGLE 
;ACCUM => ASCII STRING 
;*ROM LINE INPUT ROUTINE 
;* VALUE OF VAR. = > ACC'JM 
; 'VARIABLE TYPE MARKER 
.-•GET SINGLE KB INPUT 

;KB DRIVER ADDRESS 

; CURSOR POSITION ADDRESS 

;P-W KEYBOARD ROW 
;ENT L ARROWS KB ROW 
; SHIFT KEYBOARD ROW 

;TOP OF SCREEN 

;LAST LINE FOR DISPLAY 

;ADDR. FOR PROMPT DISPLAY 



EQU 4411:1 fMEMTOP FOR MOD. Ill DISK 

use 4049H for MODI DisK, 40B1H for tape systems 



EQU 

EQU 

EQU 



40F9U 

40FBH 

4 0FDH 



;BEG. OF VARIABLE LIST 
;BEC. OF ARRAY LIST 
;BEG. OF FREE SPACE 



First, patch routine into keyboard 
driver, being careful to save current 
driver aduress, and reset MEMTOP. 



0B9C5H j CHANGE ORG TO RELOCATE 

this address for top of 32K RAM 



ED531640 OC720 

IB 00730 

ED531144 007 40 

C32D40 00750 

00760 

00770 

007 80 

00790 



LD 
LD 
RST 
JR 

LD 
LD 
DEC 

LD 
JP 



HL, [KBDVR) 
DE,TEST 
18H 

Z,SET10 
(RETURN+1) ,HL 
(KBDVR) ,DE 
DE 

(MEMTOP) ,DE 
40 2DH 



;GET CURRENT DRIVER ADDR. 

;GET ROUTINE ADDR. 

; COMPARE DE i HL 

;GO IF ALREADY SET 

;SET RETURN ADDR. 

;SET 'TEST' AS KB DRIVER 

;DE=TEST-1 

;SET MEMTOP 
; RETURN TO DOS 



SET10 

Line 750 should be JP 1A19H for tape systems 

NOW test for <SHIFT> <DOWN-ARROW> <V> 



B9DD 3A4038 
B9E0 E610 
B9E2 280B 
B9E4 3A8038 
B9E7 B7 
B9E8 2805 
B9EA 3A0438 
B9ED E640 
B9EF CA0000 



B9F2 CD25BB 
B9F5 3AFFBF 
B9F8 B7 
B9F9 2806 
B9FB AF 
B9FC 32FFBF 
B9FF 1805 

BA01 CD2EBB 
UA04 18E9 

BA06 06FF 



00810 TEST 

00820 

00830 

00840 

00850 

00360 

00870 

00880 

00890 

00900 

00910 

00920 

00930 

00940 

00950 

00960 

00970 

00980 

00990 

01000 

01010 

01020 

01030 

01040 

01050 

01060 

01070 



LD 
AND 
JR 
LD 
OR 
JR 
LD 
AND 
RETURN JP 



A , ( ROW7 ) 

10H 

Z, RETURN 

A, (ROWS) 

A 

2, RETURN 

A, (ROW3) 

40H 

Z.0000H 



<Shift> <down-arrow> <V> 
Check flag status. 
Save all registers. 
Save screen i then clear 



CALL 

LD 

OR 

JR 

XOR 

LD 

JR 

NOTNOW CALL 
JR 



PL'S HAL 
A, (FLAG) 
A 

Z , NOTNOW 
A 

(FLAG) ,A 
NOKEY 

POPAL 
RETURN 

B.255 



GET DWN-ARW ROW 

IS IT DWN-ARW? 

GO IF NOT 

GET SHIFT ROW 

SET FLAGS 

GO IF NO SHIFT KEY 

GET P-W ROW 

CHECK FOR V 

SETUP PUTS VALUE HERE 



have been pressed. 



SAVE ALL REGISTERS 
•GET FLAG REGISTER 
•SET F REGISTER 
*GO IF ZERO 
•SET A TO ZERO 
•SET FLAG REGISTER 
•AND GO 



•RESTORE REGISTERS 

'GO TO NORMAL KB DRIVER 



•SET FOR TIMING LOOP 



Lifting I continued 



80 Micro, December 1983 • 23 



THE NEXT STEP 



Lislmx 1 continued 












BA08 


3AFF3B 


01080 NOKEY5 


LD 


A, (3BFFK) 


;*CHECK FOR ANY KEY 


BA0B 


B7 


01090 




OR 


A 


; *SET FLAGS 


BAOC 


2CFA 


01100 




JR 


NZ,NOKEY5 


;*LOOP UNTIL ALL KEYS UP 


bAOL 


IDF 8 


81118 
C1120 




DJNZ 


NCKEY5 


;«LOOP FOR KEY BOUNCE 


BAie 


11FOBB 


01130 SAVE 


LD 


DE.SCRBUF 


;DE = = ■• SCREEN BUFFER 


BA13 


210C3C 


01140 




LD 


HL, VIDEO 


;HL--> SCREEN 


BA16 


813084 


31153 




I.D 


EC, 4001: 


;EC = SCREEN LENGTH 


BA19 


EDBO 


01168 




LDIR 




I MOVE SCREEN 


RA1B 


2A2840 


01170 




LD 


HL, (CURS AD J 


;GET CURRENT CURSOR ADDR . 


EA1L 


22FDBF 


01180 




LD 


(CRSEUF) ,HL 


;AND SAVE IT ALSO 


BA21 


CDC981 


81190 




CALL 


CLS 


; CLEAR THE SCREEN 


3A24 


21883F 


01200 




LD 


HL,PRTPCS 


;CET PRINT POSITION 


M27 


222040 


01210 
01220 




LD 


, CURS AD) ,HL 


;MOVE CURSOR AWAY 






C123C 


Now g 


et list 


cf si-ple (not 


array) variables and print 






01240 


each 


on the 


screen . 








0125? 










bA2A 


DD2AF940 


01260 




LD 


IX, (SVT) 


;IX==>VARIABLE LIST 


BA2L 


21003C 


0127e 




LD 


HL, VIDEO 


;HL--> SCREEN 


BA31 


FD21E2BB 


C12e8 




LD 


I Y, TYPES 


;IY--> VAR. TYPE TABLE 


BA3 5 


ES 


01290 \ 


'AS 1 


PUSH 


HL 


;SAVE SCREEN PTR. 


EA36 


DDES 


81300 




PUSH 


:x 


;MOVE VAR. LIST PTR 


BA38 


El 


1 3 1 




POP 


HL 


; TO HL 


BA39 


ED5BFE40 


01320 




LD 


DE, (AVTJ 


;GET END OF VAR. TABLE 


BA3D 


DF 


31338 




RST 


18H 


;C? HL:DE 


BA3E 


El 


8134C 




POP 


HL 


• ; RECOVER SCREEN PTR. 


BA3F 


333E 


01350 
01360 




JR 


NC, ARRAY 


;GO IF NC MORE VARIABLES 


BA41 


DD4600 


01370 




LD 


B, (IX) 


;GET VARIABLE TYPE 


BA44 


DD7E82 


01380 




LD 


A, (IX*2) 


;1ST LETTER OF VAR. NAME 


BA47 


77 


31390 




LD 


(HL) ,A 


; PRINT IT 


3A4 8 


23 


01403 




INC 


HL 


;BUMP POINTER 


3A4 9 


DD7E01 


01410 




LD 


A,(IX*1) 


;2SD LETTER OF VAR. NAME 


BA4C 


B7 


01420 




OR 


A 


;SET FLAGS 


3A4D 


2802 


81430 




JR 


Z, VAR 20 


;GC IF ZERO 


BA4F 


77 


C1440 




LD 


(HL) ,A 


;ELSE PRINT IT 


BA50 


23 


01450 




INC 


HL 


;AND BUMP POINTER 


BA51 


78 


01460 


/AR2C 


LD 


A,B 


;GET VARIABLE TYPE 


BA5 2 


3D 


01470 




DEC 


A 


; DECREASE BY TWO TO 


BA53 


3D 


01480 




DEC 


A 


ALIGN KITH TABLE 


BA54 


3259BA 


01498 




LD 


(IYPTR+2) ,A 


;USF. FOR OFFSET 


BA57 


FD7E0O 


01500 


YPTR 


LD 


A,(IY*0) 


;GET TYPE SYMBOL 


BA5A 


77 


01510 




LD 


(HL) ,A 


;PUT ON SCREEN 


BA5B 


23 


01520 




INC 


HL 


[BUMP POINTER 


BA5C 


23 


01533 
01540 




I HC 


HL 


;ANU AGAIN FOR SPACE 


BA5D 


DD23 


01550 




INC 


IX 


;GET PAST HEADER 


BA5F 


DD23 


01560 




INC 


IX 


; KITH THREE 


BA61 


DD23 


01570 




INC 


IX 


; INCREMENTS 


BA63 


DD23 


01560 


1/AR30 


INC 


IX 


;KOVE PAST VAR. INFO 


BA6 5 


leFC 


01590 
01600 
01610 


cncck 


DJNZ 

screen 


VAR3 8 


; DEPENDING ON VAR. TYPE 
;IX = = • NEXT VARIABLE 


BA67 


117B3F 


0162C 




LD 


DE,ENI)DSP 


;LAST PRINT POS. 


BA6A 


DF 


01630 




RST 


18K 


;CP HL:DE 


BA6B 


D437IS1) 


01640 




CALL 


NC.F.NDSCR 


;GC IF SCREEN FULL 


BA6E 


7T' 


01650 




I.D 


A,l. 


;GET LSB OF SCREEN PTR. 


BA6F 


E6 3F 


01660 




AMD 


JFH 


; riAHi: BITS 6 i, 7 


BA71 


FE3C 


31670 




CP 


3CH 


;Ef.'D OF LINK? 


EA7 3 


3 8C0 


01680 




JR 


C, VAR 18 


; RETURN IF NOT 


BA7 5 


1140OC 


01690 




LD 


DE,40!i 


;I.IME OFFSET 


BA78 


19 


B17B0 




ADD 




;HL=-> NEXT LINE 


BA79 


7D 


01710 




LD 


A,L 


;GET LSB 


BA7A 


E6CC 


01720 




AND 


OCCH 


.-MASK OUT BITS 0-5 


5A7C 


or 


01730 




LD 


L,A 


;KL==> START OF NEXT LINE 


3A7D 


16B6 


81740 

81750 




JR 


VAR 10 


;./: 7 ,•■:: 7HFR VAFIABLE 






."1768 


•Now snow arrays 








017 7 


1 








BA7F 


CD37BB 


01780 


ARRAY 


CALL 


EKDSCR 


;NEW SCHEEN FOR ARRAYS 


BA82 


DD2AFB48 


81790 




LD 


IX.(AVT) 


;IX-= ARRAY TALL: 


BA86 


DDE5 


81838 


ARR18 


PUSH 


IX 


; TRANSFER PTR TO 


BAee 


El 


>"• 1 ;• 1 C 




POP 


HL 


; TO HL 


BA8S 


ED5BFD40 


01620 




LD 


DE, (FREE) 


;DE">EHD OF ARRAYS 


BA8D 


DF 


01r38 




RST 


18H 


;CP HL:DE 


BA8L 


3075 


01840 

01858 




JR 


nc.dcn: 


;GO IF END OF TABLE 


BA90 


DD46O0 


01868 




LD 


B,(IX+0) 


;GET VARIABLE TYPE 


3A93 


DD7EC2 


01870 




LD 


A, (IX*2) 


;1ST LETTER OF VAR. NAME 


3A96 


CD3A03 


CI 880 




CALL 


PRINT1 


;PPINT A 


BA99 


DD7E01 


Clr.90 




LD 


A, (IX-fl) 


;2ND LETTER CF VAR. NAME 


BA9C 


B7 


81900 




CP 


A 


;SET FLAGS 


BA9D 


2803 


01910 




JR 


Z,ARR20 


;GC IF 


BA9F 


CD3A03 


01920 




CALL 


PRINT1 


;ELSE PRINT IT 


3AA2 


78 


01930 


ARR20 


LD 


A,B 


;GET VAR. TYPE VALUE 


BAA 3 


3L 


81940 




DEC 


A 


; SUBTRACT TWO TO 


BAA 4 


3D 


01950 




DEC 


A 


; ALIGN WITH TABLE 


BAA 5 


3 2AABA 


01960 




LD 


;IYP7P.2*2) ,A 


; ADDRESS TABLE 


BAA8 


FD7E00 


01970 


IYPTR2 


I.D 


A, (IY+0) 


;GET TYPE SYMBOL 


BAAB 


CD3A83 


01980 




CALL 


PRINT1 


;AND PRINT IT 


3AAE 


3E28 


C199C 




LD 


A,'( ' 


(PAREN. CHAR. 


BAUD 


CD3A03 


02800 
02018 




CALL 


PRINT1 


;AND PRINT IT 


BAB 3 


DD4E0 5 


02020 




I.D 


C.UX+5) 


;GET • OF DIMENSIONS 


BAB6 


DD5E0 3 


02838 




LD 


E,(IX+3) 


;DF. WILL HAVE OFFSET 


BAB9 


DD5604 


02040 




I.D 


D, (IX+4) 


TO NEXT ARRAY 


BABC 


DDE5 


02058 




PUSH 


IX 


; TRANSFER IX VALUE TO 


BABE 


El 


206 




POP 


HL 


; HI. REGISTER 


BABF 


19 


02070 




ADD 


HL.DE 


;ADD OFFSET 

Listing t continued 



single precision, or double precision). If 
the variable is a string, its VARPTR ad- 
dress is loaded into the accumulator in- 
stead of its value. 

Next, the program checks the vari- 
able type flag. If the type flag equals 3, 
the variable is a string, and control pass- 
es to STRDSP in line 3140. Otherwise, 
the ROM routine ACUSTR, which I 
described last month, changes the vari- 
able's value into an ASCII string and 
the program prints that string. Then the 
ROM routine WAITKY (0049 hex), 
which waits for any keyboard input, is 
used to freeze the display until you press 
any key before the program loops back 
to END10. WAITKY takes the place of 
last month's GETENT, which is no 
longer included in the program. 

If the variable is a string, IX points to 
its VARPTR address (line 3210). Then 
the program loads B with the string's 
length and HL with its location in mem- 
ory. Because the string is not terminated 
with a 00 hex byte, you cannot use the 
normal Print routine. Instead, the pro- 
gram calls the PRTSTR routine at line 
3280 to print the string. 

PRTSTR first checks the string's 
length. If it is zero, control returns im- 
mediately without any further process- 
ing. Otherwise, the program prints the 
string with a DJNZ loop until B is dec- 
remented to zero. 

For quick reference, the Figure sum- 
marizes the ROM routines and low- 
memory pointers used by this month's 
and last month's programs. Before you 
add the ROM routines to your own pro- 
grams, you must exercise caution. Some 
ROM routines (2B75 hex is a notorious 
example) only work properly if Basic is 
initialized. If you use a tape system, you 
never have to worry because Basic is ini- 
tialized automatically when you turn on 
the power. 

However, if you use a disk system, 
you can use programs with ROM rou- 
tines only if you've loaded Disk Basic 
since you turned on the computer. If 
you find a program, particularly a mag- 
azine program, that doesn't work as it 
should, try going to Disk Basic, re- 
turning to DOS, and rerunning it. 

The problem is that ROM Basic was 
written to be expanded in two ways. 
Each expansion necessitates an exit 
from ROM to a patch point in low 
memory. The first type of expansion is 
the addition of Disk Basic command 
verbs (CMD", INSTR, OPEN, DEF, 



24 • 80 Micro, December 1983 



TRS-80 MODEL 4 

Word Processing Program 







Works with TRSOOS 6.0 

90K TEXT BUFFER when expanded memory is installed. 

Built-in FORM LETTER and MAIL-MERGE capabilities. 

Performs PROPORTIONAL-SPACE right-margin justification on 

over 60 different printers (all drivers included FREE). 
□ Same powerful editing features as ZORLOF II, with dozens more 

features added. 
a Versions also available to run on MODEL I, MODEL III, LNW-80. 

PMC-80, and MAX-80 (80x24 display). 

LeScript costs '200 less than 

competing products matching its capabilities. 



^^^^^^Bj 



CALL 1-305-259-9397 yANZTEK 

FREE SHIPPING WITHIN THE U.S.; OUTSIDE THE U.S. ADD $10.00 FOR SHIPPING; FLORIDA RESIDENTS ADD b% SALES TAX ALL ORDERS PREPAID 
BY CHECK. MONEY ORDER. CREDIT CARD OR C O.D 



ANITEK SOFTWARE PRODUCTS 
P.O. BOX 361136 
MELBOURNE. FL 32936 " 141 



THE NEXT STEP 



Listing 1 continued 










BAC0 110500 


02080 


LD 


DE,5 


; OFFSET FOR HEADER 


BAC3 19 


02090 


ADD 


HL F DE 


;HL"> NEXT ARRAY 


BAC4 E5 


02100 
02110 ; 


PUSH 


HL 


;SAVE ADDRESS 


BAC5 0606 


02120 


LD 


B,6 


rBUNP IX 6 TIMES 


BAC7 DD23 


02130 ARR3 


INC 


IX 


; SO IX==> SIZE OF 


BAC9 10FC 


02140 
02150 ; 


DJNZ 


ARR30 


; 1ST DIMENSION 


BACB 41 


02160 


LD 


B,C 


;GET # OF DIM. 


BACC CB20 


02170 


SLA 


B 


.•MULTIPLY BY TWO 


BACE DD23 


02180 ARR40 


IMC 


IX 


|BUHP POINTER 


BAD0 liPC 


C2190 
02200 ; 


DJNZ 


ARR40 


; UNTIL PAST DIM SIZES 


BAD2 41 


02210 


LD 


B,C 


;GET # OF DIM. AGAIN 


BAD3 DD2B 


02220 ARR50 


DEC 


IX 


;DROP IX UNTIL IT 


BAD5 DD2B 


02230 


DEC 


IX 


; POINTS TO NEXT DIM. 


BAD7 DD6E00 


02240 


LD 


L,(IX+0) 


;CET LSB OF DIM SIZE 


BADA DD6601 


02250 


LD 


H, (IX+1) 


; AND MSB 


BADD 2B 


02260 


DEC 


HL 


; CORRECT FOR ELEMENT 


BADE CDB2BB 


02270 
02280 ; 


CALL 


ASCPRT 


;PRINT AS ASCII 


BAE1 3E2C 


02290 


LD 


A, ' , ' 


;GET COMMA CHAR. 


BAE3 CD3A03 


02300 


CALL 


PRINTl 


;AND PRINT IT 


BAE6 10EB 


02310 
02320 ; 


DJNZ 


ARR50 


; REPEAT FOR ALL DIM.S 


BAE8 212040 


02330 


LD 


HL,CURSAD 


;HL==>CURSOR POS'N 


BAEB 3 5 


02340 


DEC 


(HL) 


;MOVE BACK OVER LAST "," 


BAEC 3E29 


02350 


LD 


A,') ' 


;GET CLOSE PAREN. 


BAEE CD3A03 


02360 


CALL 


PRINTl 


;AND PRINT IT 


BAF1 3E20 


02370 


LD 


A, ' ' 


,-NOW AN ASCII SPACE 


BAF3 CD3A03 


02380 


CALL 


PRINTl 


,-AND PRINT IT 


BAF6 2A2040 


02390 


LD 


HL, (CURSAD) 


;GET CURSOR POS'N 


BAF9 117B3F 


02400 


LD 


DE,ENDDSP 


;END OF PRINT AREA 


BAFC DF 


02410 


RST 


18H 


;CP HL:DE 


BAFD D437BB 


02420 
02430 ; 


CALL 


NC, ENDSCR 


;GO IF SCREEN FULL 


BB00 DDE1 


02440 


POP 


IX 


;IX==> NEXT ARRAY 


BB02 C386BA 


02450 
02460 ; 


JP 


ARR10 


;GO TO WORK ON IT 


BB05 CD37BB 


02470 DONE 


CALL 


ENDSCR 


;ASK FOB ENTER 


BB08 21FDBB 


02480 


LD 


HL,SCRBUF 


;HL«=>SCREEN BUFFER 


BB0B 11003C 


02490 


LD 


DE, VIDEO 


;DE==>SCREEN 


BB0E 010004 


02500 


LD 


BC400H 


;BC » SCREEN LENGTH 


BB11 EDB0 


02510 


LDIR 




;MOVE TO SCREEN 


BB13 2AFDBF 


02520 


LD 


HL, (CRSBUF) 


;GET OLD CURS. POS'N 


BB16 222040 


02530 


LD 


(CURSAD) ,HL 


;AND RESTORE IT 


BB19 3EFF 


02540 


LD 


A,0FFH 


;*VALUE FOR RECUR. FLAG 


BB1B 32FFBF 


02550 


LD 


(FLAG) ,A 


;*RESET RECURS. FLAG 


BB1E CD2EBB 


02560 


CALL 


POPAL 


; RESTORE REGISTERS 


BB21 AF 


02570 


XOR 


A 


;A & Z-FLAG SHOW 


BB22 C3EFB9 


02580 
02590 ; 


JP 


RETURN 


; RETURN TO BASIC 


BB25 E3 


02600 PUSUAL 


EX 


(SP) ,HL 


;HL ON STACK; SAVE RET 


BB26 C5 


02610 


PUSH 


BC 


;SAVE ALL REGS 


BB27 D5 


02620 


PUSH 


DE 




BB28 DDE5 


02630 


PUSH 


IX 




BB2A FDE5 


02640 


PUSH 


IY 




BB2C E5 


02650 


PUSH 


HL 


;ORIG. RET ADDR.TO STACK 


BB2D C9 


02660 

2670 ; 


RET 






BB2E El 


026 80 POPAL 


POP 


HL 


;GET RET. ADDR. 


BB2F FDE1 


02690 


POP 


IY 


; RESTORE ALL REGS. 


BB31 DDE1 


02700 


POP 


IX 




BB33 Dl 


02710 


POP 


DE 




BB34 CI 


02720 


POP 


BC 




BB35 E3 


02730 


EX 


(SP) ,HL 


;GET ORIG. HL 


BB36 C9 


02740 
027 50 ; 


RET 






BB37 CD25BB 


02760 ENDSCR 


CALL 


PUSHAL 


;SAVE REGISTERS 


BB3A 21883F 


02770 END10 


LD 


HL,PRTPOS 


;*HL==>PRINT POSITION 


BB3D 222040 


02780 


LD 


(CURSAD) ,HL 


;SET CURSOR ADDRESS 


BB40 3E1F 


02790 


LD 


A,1FH 


;*1F=CLEAR TO END OF FRAME 


BB42 CD3A03 


02800 


CALL 


PRINTl 


;*PRINT IT 


BB45 21C8BB 


02810 


LD 


HL,MSG 


;HL==>PROMPT MESSAGE 


BB48 CD752B 


02820 


CALL 


PRINT 


; PRINT IT 


BB4B 21E9BB 


02830 


LD 


HL.VARBUF 


;*HL==> INPUT BUFFER 


BB4E 0614 


02840 


LD 


B,20D 


;*B=MAX. INPUT LENGTH 


BB50 CDD905 


02850 
02860 ; 


CALL 


LINEIN 


;*GET KEYBOARD INPUT 


BB53 38E5 


02870 


JR 


CEND10 


;*GO IF <BREAK> HIT 


BB55 78 


02880 


LD 


A,B 


;*GET INPUT LENGTH 


BB56 B7 


02890 


OR 


A 


;*SET FLAGS 


BB57 200A 


02900 


JR 


NZ,END20 


;*GO IF VARIABLE REQUESTED 


BB59 CDC901 


02910 


CALL 


CLS 


;ELSE CLEAR SCREEN 


BB5C CD2EBB 


02920 


CALL 


POPAL 


.•RESTORE REGISTERS 


BB5F 21003C 


02930 


LD 


HL, VIDEO 


;HL==>SCREEN TOP 


BB62 C9 


02940 
02950 ; 


RET 




;AND RETURN 


BB63 C5 


02960 END20 


PUSH 


BC 


;*SAVE VARIABLE LENGTH 


BB6 4 0608 


02970 


LD 


B,8 


;*FOR 8 SPACES 


BB66 3L20 


02980 


LD 


A, ' ' 


;*A=ASCII SPACE 


BB68 CD3A03 


02990 END30 


CALL 


PRINTl 


; PRINT 


BB6B 10FB 


03000 


DJNZ 


END30 


;* 8 SPACES 


BB6D CI 


03010 


POP 


BC 


.-•RECOVER LENGTH COUNT 


BB6E 21E9BB 


03020 


LD 


HL,VARBUF 


;*HL==>BEGINNING OF VAR. 


BB71 E5 


03030 


PUSH 


HL 


;*AND SAVE IT 


BB7 2 CDA7BB 


03040 


CALL 


PRTSTR 


;*PRINT VAR NAME AS STRING 


BB75 3E20 


03050 


LD 


A, ' ' 


j*A»ASCII SPACE 


BB77 CD3A03 


03060 


CALL 


PRINTl 


;*AND PRINT IT 


BB7A 3E3D 


03070 


LD 


A, '=' 


;*A= EQUAL SIGN 

Listing 1 continued 



LOAD, and so on). The execution ad- 
dress for each of these new verbs al- 
ready exists in ROM, but the operation 
code does not — DOS must supply it. 
When you boot up a tape system, each 
Disk Basic command patch point is 
filled with the L3 error's address. 

The second type of patch point to 
DOS is completely different. Several 
ROM routines, including many of the 
output routines, include a call to a low- 
memory address. When you use a tape 
system, a return instruction (0C9 hex) is 
loaded into each of those addresses; 
when you load Disk Basic, either a re- 
turn, or a jump to a special Disk Basic 
routine is loaded into each address. 
However, when you first boot up DOS, 
no values are specifically loaded to 
those patch points and any program 
that calls them will probably find itself 
wandering off into oblivion. 

The purpose of the second set of 
patch points is to let DOS writers add 
new, more powerful features to Basic. 
But if you are writing Assembly-lan- 
guage programs meant to be compatible 
with disk systems and run under DOS, 
and you want to use ROM routines, you 
should close any patch points your pro- 
gram might come across with a 0C9 hex 
byte before the ROM routines are 
called. The patch points are at addresses 
41AC hex, 41AF hex, 41B2 hex, and so 
on up to 41E2 hex, on both the Models 1 
and III. 

Defining Variables 

Besides showing the current active 
variables, this month's program can 
help you improve your Basic program- 
ming. Your programs store all simple 
variables in memory below all array 
variables. If your program uses arrays, 
they have to be moved every time you 
define or use a new simple variable. If 
one of your first program lines dimen- 
sions all arrays, it will slow down your 
program considerably by the pauses 
necessary to shift the arrays up in mem- 
ory whenever you use a new simple vari- 
able. Your program will run faster if 
you define all simple variables before 
you dimension arrays. 

There are two ways to define simple 
variables at the beginning of the pro- 
gram. The first, and more structured, is 
to give each a pre-set value (such as 
A = 0, B = 2, and C = .479). However, if 
you're going to set many of the vari- 
ables to zero, or if the program will set 



26 • 80 Micro, December 1983 



THE NEXT STEP 



them as it uses them, you can define 
simple variables the same way you 
define arrays: with the DIM command. 
DIM A,B,C defines, and sets up space 
for, the three variables listed. 

Therefore, a sensible order of com- 
mands at the beginning of a program 
would be: 

• Clear sufficient string space; 

• Define or Dimension simple vari- 
ables; 

• Dimension array variables. 

The second lesson to be gained from 
variables displays is that the order of 
variables in memory makes a differ- 
ence. Whenever Bask has to deal with 
any variable, it searches the appropriate 
'table from the beginning. If it finds the 
variable, it continues to process the cur- 
rent command. If it can't find the vari- 
able, it (usually) must make room for it 
and add it to the table. 

If your most frequently used vari- 
ables are at the bottom of the table, they 
will be found faster and your program 
will run more quickly. To place them at 
the bottom of the table, be sure to de- 
fine them first. 

One interesting side note — if you ask 
Bask for the value of a simple variable 
that you have not previously defined, 
it searches the SVT and, failing to 
find the variable, answers zero for a 
numeric variable or " " for a string 
variable. However, it will not add the 
variable to the SVT. 

If you ask Basic for the value of an 
element in an array that you haven't 
previously defined, Basic first creates 
the array in the AVT, using the default 
value of 10 for the maximum of each in- 
dex, and then reports that the value of 
the array element is zero or " ". Be 
careful when you use arrays; they can 
fill up memory qukkly. The innocuous 
looking statement: 

DIM A/K7,8.8,8) 

requires 46,666 bytes, and uses up al- 
most all available memory in a 48K 
tape-based Model III. 

Random Numbers 

In my own programming and in 
questions from readers, the subject of 
random numbers has come up several 
times. There seems to be a misunder- 
standing about what a random number 
is and how random numbers are gener- 
ated internally in Basic. 



Listing I continued 

BB7C CD3A03 
BB7F El 
BB80 CD4025 



BB83 3AAF40 
BB86 FE03 
BB88 2B0B 

BB8A CDBDBF 
BB8D CD752B 
BB90 CO4900 
BB93 18A5 

BB95 DD2A2141 
BB99 DD4600 
BB9C DD6E01 
BB9F DD6602 

B3A2 CDA7BB 
BBA5 18E9 

3BA7 7 3 
BBA8 B7 
BBA9 ce 
BBAA 7E 
BBAB CD3A03 
BBAE 23 
BBAF 10F9 
BBB1 C9 



BBB2 
BBB2 
E-BB3 
BBB6 
BBB7 
BBBA 
BBBD 
BBC0 
BBC1 
BBC4 
BBC 7 



EB 

CD2SBB 

EB 

CD9A0A 

CDCCOA 

CDBDOF 

23 

CD752B 

CD2EBB 

cs 



BBC8 56 
BBE1 00 

BBE2 25 
BBE3 24 
BBE4 21 
BBE5 0000 
BBE7 00 
BBE8 23 

0014 

40 3 

C332 

3FFF FF 

B9C5 

23000 Tot3l E 



03080 
03090 
03100 
03110 
03120 
03130 
03140 
03150 
03160 
03170 
03180 
03190 
03200 
03210 
03220 
03230 
03240 
03250 
03260 
03270 
03283 
03290 
03330 
03310 
03320 
C3330 
03340 
03350 
03369 
C3370 
03380 
03390 
03400 
03410 
03420 
03430 
03440 
03450 
03460 
03470 
03480 
03490 
l'3D0O 
03510 
03520 
U3530 
03540 
03550 
03560 
03570 
03580 
03590 
03600 
03610 
03620 
03630 
33640 
03G50 
0366(1 
03670 
03680 
03690 
U373i! 
03710 



CALL 
POP 

CALL 

LD 
CP 
JR 

CALL 
CALL 
CALL 

JR 

LD 

LD 

LD 

LD 

CALL 

JR 



PRTS7R LD 
OR 



RET 
LD 

CALL 
ISC 

djn: 

RET 



EQU 

EX 

CALL 

EX 

CALL 

CALL 

CALL 

I J1C 

CALL 

CALL 

RET 



PRINT1 

HL 

VALACU 

A,(VTFLAG) 

3 

Z,STRDSP 

ACUSTR 
PRINT 
WAITKY 
END10 

IX, (4121H) 
B, (IX+0) 
L, (IX+1) 
H,(IX+2) 
PRTSTR 
END4C 

A,B 
A 

A,(HL) 

PRINT1 

HL 
PR71D 



S 

DE,HL 

PL'SHAL 

DE,ML 

IILACUM 

AC I MSN 

ACUSTR 

HL 

PRINT 

POPAI. 



;*AND PRINT THAT 
;*HL">VARIABLE AGAIN 
^VARIABLE'S VALUE* >ACCUK . 

;*GET VARIABLE TYPE MASKER 
;*IS IT A STRING? 
;*GO TO STRING ROUTINE 

;*TURN VALUE INTO STRING 
;*AND PRINT IT 
;*WAIT FOR KEYSTROKE 
;*AND REPEAT 

;*IX ■ STRING'S VARPTR 
;*B- STRING LENGTH 
;*NSB OF ADDR. 

*HL-->STRING 

•PRINT THE STRING 

•AND GC 

*GE7 STRING LENGTH 
•SET FLAGS 

•RETURN IF NO LENGTH 
•GET CHARACTER 
•AND PRINT IT 
•BUMP POINTER 
•LOOP UNTIL DONE 
•RETURN TO CALLER 



PRINT HL VAI, ON SCREEN 
SAVE HL REG. 
SAVE REG?. 

recover oric hl value 
hl==> accumulator 
accum i::t«> single rrec 
make accum into string 
skip leading space 
print value 
restorc regs. 



; Now tablet message ■ & but Ears 



;;sg DtFii 

DEFB 

TYPES DEFB 
DEFB 
DEFB 
DEFW 
DEFB 
DEFB 

VARBUF DEFS 

SCRBUF DEFS 
CRSBOF DEFS 

FLAG DEFB 



'Variable Naxe 
00H 






BOH 
'# ' 

20D 

400K 

2H 

IFFH 

SETUP 



>r CENTER > ' ;* 
;END OF MSG MARKER 

;LIST OF VARIABLE TYPE 
; MARKERS 

;PAD WITH 3 SPACES 

•BUFFER FOR VAR. NAME 
LUFFER FOR SCREEN 
BUFFER FOR CURSOR POSt 
•RECURSION FLAG 
END OF PROGRAM 



LOOP 



LD 


A,(3BFFH) 


;LOOK FOR KEYSTROKE 


OR 


A 


;SET FLAGS 


JR 


Z.LOOP 


;LOOP UNTIL STROKE FOUND 


LD 


A,R 


;ELSE GET R VALUE 


AND 


7FH 


;MASK OUT BIT 7 

;A HAS RANDOM NUMBER 



Program Listing 2. Trigger routine for reading the R register. 



First, generating a random number is 
simple on a Z80-based machine. The 
Z80 uses the R register internally to 
signal memory refresh cycles. During 
the decoding and execution of every 
machine-language instruction, Z80 in- 
crements the R register, places it on the 
address bus, and generates a memory 



refresh signal. Since this occurs while 
the Z80 is processing a program instruc- 
tion, it takes no extra execution time 
and is generally transparent to the run- 
ning program. 

If, at an unpredictable time, the Z80 

reads the R register, its current value is a 

random number. For the read's time to 

80 Micro, December 1983 • 27 



THE NEXT STEP 



be truly unpredictable, some event must 
trigger it, that, even if repeated fre- 
quently, would take much longer than 
several machine cycles to occur. One 
such triggering event might be a key 
pressed by the computer operator. 

Try the following experiment to see 
how the computer generates random 
numbers. Take a digital watch that has 
a stopwatch function and can record 
hundredths of a second. Start the 
watch, wait a moment, and then press 
stop. Record the digit in the hundredths 
column. Now try to repeat the experi- 
ment and stop the watch with the same 
value in the hundredths column. Slow 
human reflexes combined with the stop- 
watch button's resistance make the 
digital stopwatch a reasonable random 
number generator for numbers between 
zero and 9 in the hundredth's column. 
No one could purposely stop the watch 
with the same digit showing each time. 

The Z80 updates the R register much 
more frequently than the relatively slow 
hundredths of a second display on a 



BIBLE 
HIGHLIGHTS I 



• Highlights of the Bible for 
children, kindergarten through 
fourth grade. 

• Christian learning through 
animated Bible stories, games 
and quizes. 

• Covers CREATION. JEWISH 
TRIBES AND LIFE OF CHRIST 



• A computer software package 
for TRS 80 Models III and IV 
Total program over 70k bytes. 7 
sections each less than 16k 

• Specify tape cassette or diskette 



Price $19.50. Postpaid. 
Satisfaction guaranteed. 



Send check or money order to: 
STAR SOFTWARE CO., 

DEPT M80 

2315 WATERBYST 

WESTLAKE VILLAGE 

CA 91361 - 43 



digital watch. Because bit 7 of the R reg- 
ister never changes (you can set that bit 
by loading a value into R), reading the 
R register at random times produces a 
truly random number between zero and 



"The Z80 updates 

the R register 

much more frequently 

than the. . . display 

on a digital watch. " 



127. By pressing a key, you can trigger a 
read, and the code would look some- 
thing like Program Listing 2. 

When you execute the Basic com- 
mand Random, it also uses the R regis- 
ter, but in a different manner. The en- 
tire code for RANDOM is: 



LD 


A.R 


;GET CURRENT R 
VALUE 


LD 


(40ABH),A 


;SAVE IT 


RET 




;END OF ROUTINE 



The exact instant when Random is exe- 
cuted is certainly unpredictable: It de- 
pends on your loading a program that 
contains the Random command, typing 
RUN, and pressing the enter key. The 
only mystery in those three lines of code 
is why the value is stored in 40AB hex. 

The RND function in Basic produces 
pseudo-random numbers. The values 
produced seem random, but you could 
easily predict the next random number 
if you knew the present state of the 
computer. Pseudo-random numbers 
are generated by taking a "seed" value 
and performing a specific series of 
arithmetic operations on that value. 
The new seed value becomes the new 
pseudo-random number. 

The computer stores the random 
number seed in both the Models I and 
III at memory locations 40AA hex, 
40AB hex, and 40AC hex. The specific 
algorithm used to generate each succes- 
sive seed is unimportant here; what is 
important is that if you know the cur- 
rent seed value and the algorithm, you 
can accurately predict the next pseudo- 
random number. In some types of mod- 
eling, it's important to be able to use the 
same set of random numbers repeatedly 



in a program to test various hypotheses. 
To see how such a program might oper- 
ate, run the following: 

10 FOR I = 1 TO 5 
20 POKE 16554,1 
30 POKE 16555,2 
40 POKE 16556,3 
50 FOR J = 1 TO 8 
60 PRINT RNDOOO), 

70 NEXT J 
80 PRINT 
90 NEXT I 
100 GOTO 100 

Lines 20, 30, and 40 establish the cur- 
rent seed value, thus determining the 
series of pseudo-random numbers gen- 
erated. 

It should be clear now how the Ran- 
dom command operates. It takes a truly 
random value — the current value in R — 
and uses it to re-seed the pseudo-ran- 
dom number generator. The software 
pseudo-random number generator al- 
ways generates the same series of val- 
ues; the computer uses the Random 
command to start that series at a ran- 
dom spot on the list. The total list of 
pseudo-random numbers is long 
enough that you will probably never 
have a program that will notice a repeti- 
tion of values. 

If you wish to generate your own 
pseudo-random numbers in machine 
language, you'll need to do some re- 
search about different pseudo-random 
algorithms. You will find a great deal of 
disagreement among the experts about 
which algorithm is best, and what con- 
stitutes a truly random pseudo-random 
number (if such a beast exists). The 
ideas are interesting, but the mechanics 
soon become extremely complex. 

Authors' Forum 

As I mentioned last month, readers 
who subscribe to CompuServe may take 
part in open discussions of topics cov- 
ered by "The Next Step." GO PCS-117 
to the Software and Authors Special In- 
terest Group (SASIG) and leave your 
questions or comments addressed to me 
on the message board. Feel free to join 
in any discussions started by other 
readers. ■ 



Write to Hardin Brothers at 280 N. 
Campus Ave., Upland, CA 91786, or 
contact him through CompuServe. His 
e-mail address is 72165, 735. 



28 • 80 Micro, December 1983 



Be Amazed! 




Telengard: How low can you go? 



We've created a subterranean monster. Fifty 
stories low. 

That's the number of levels in the TELENGARD 
dungeon. 

Each labyrinthine level holds hundreds ol dark chambers 
and tomb-like corridors for the mighty adventurer to ex- 
plore. It goes without saying that a shifting collection of 
hideous monsters with unpredictable behavior patterns can 
make life in the TELENGARD maze quite interesting— and 
frequently quite short! 

Using wits, magic and true grit, your character delves 
deeper and deeper into the depths of TELENGARD in this 
realtime fantasy role-playing game. Available on cassette 
for Commodore* 64, Atari' Home Computers (40K), 
TRS-80* Mods. I /III (32K) and PET* 2001 (32K) for a 
ghoulish $23.00. 48K diskettes for Apple* II. Atari* , Com- 
modore' 64 and TRS-80' available also, for $28.00. 

AND FOR THOSE WHO DON'T DIG UNDERGROUND GAMES . . . 
There's B- 1 NUCLEAR BOMBER, a nail-biting solitaire simulation 
of a manned B-l on a mission over the Soviet Union. Your plane is 
equipped with six Phoenix Missiles, a one megaton warhead and 
orders to retaliate! Cassette for Commodore 64, Atari Home Com- 
puters (32k). TI99/4&4A (16k). VIC-20(16K), Timex/Sinclair lOOO 
<16k). and TRS-80 Mods. I/Ill (16K) are available for an explosive 
$16.00. Diskette versions for Apple (48k) TRS-80 (32k), Atari (24K) 
and IBM (48k) just $21.00. 



NUKEWAR: Defend your country by massive espionage efforts, or 
by building jet fighter bombers missiles, submarines and ABM's. 
Your cold and calculating computer will choose its own strategy! 
Cassette for Commodore 64 VIC-20 (16k). TRS-80 Mods. I / 111 < 1 6k) 
and Atari home Computers just $16.00. 

FOOTBALL STRATEGY: Animated action on a scrolling field. A 
head-to-head challenge or solitaire as you select the best offensive 
or defensive plays in response to your opponent. Commodore 64. 
Atari Home Computers (32K) and TRS-80 Models l/lll/IV (16K) 
cassette for $16.00. Atari (32K), IBM (64k) and TRS-80 Models 
l/lll/IV (32k) diskettes available at $21.00. 

T.G.I.F.: Thank Goodness It's Friday! Avalon Hill's new party game 
for one to four players recreating an often-not-so-lypical week in 
the lives of the working class, half the fun is just making it from 
Monday to Sunday. Commodore 64 Atari Home Computers (40K) 
cassette for a meager $20.00. Atari diskette (48K) for $25.00. 

AVAILABLE WHEREVER GOOD COMPUTER GAMES ARE 
SOLD or call Toll-Free: 1 (800) 638-9292 for the name of a 
store near you. Ask for Operator C. 

(3) 




a Division of the 

Avalon Hill Game Company 

4517 Harford Road. Baltimore, MD 21214 U.S.A. Earth *-%8 

1 1 radcmarhs ol Tandy Corp. Apple Computers Commodore Business Machines Warner 
Communications and International Business Machines 



B-1 
NUCLEAR 

BOMBER 



-' 




i Nukewar 

A J m I 

K J ^jfrau A (111 




QUALITY 





• See List of Advertisers on Page 291 



80 Micro, December 1983 • 29 



THE COLOR KEY 



by Scott Norman 



I've got good news and bad news. The 
bad news is that this will be the last 
edition of The Color Key; the good 
news is that next month, I'll be taking 
over the Re:FLEX column in HOT 
CoCo and expanding its coverage to in- 
clude both FLEX and OS-9 software. 

While most of the previous action in 
the area of alternative operating systems 
centered on FLEX, every indication is 
that the long-delayed OS-9 software will 
have a broad range of supporting appli- 
cations programs for the serious user. 

I recently spent an afternoon with 
Sue and Paul Searby of Computerware, 
discussing some of their plans for new 
products. It comes as no surprise that 
they will market a rather complete line 
of OS-9 business software, and you can 
bet that other suppliers will do the 
same. 

Since that's where much of my inter- 
est lies, I'm looking forward to working 
with and writing about the new system. 
1 expect to be in the thick of it by the 
time you read this column. 

And by the way, the fact that Radio 
Shack is advertising Basic09 for the 
Color Computer is the best news to 
come out of Fort Worth in a while. I 
can hardly wait. 

Unfinished Business 

Some bugs are subtle and some are 
just plain dumb, and one of the latter 
kind has surfaced in my Expgraph pro- 
gram (September 1983, p. 30). Let's see 
if I can make amends. 

You might recall that Expgraph cre- 
ates a high-resolution graph of expendi- 
tures as a function of time for periods of 
up to a year. The program automati- 
cally scales the dollar axis to maximize 
the resolution of the graph, while 
restricting the major interval to an in- 
tegral multiple of $2, $5, or $10 times 
some power of 10. It also extrapolates 
the rate at which you spend money, so 
the user can compare the prediction for 
year's end with a budget target. 

The bug appears in the routine that 
converts the value used for the expendi- 
ture-axis interval to a string in prepara- 
tion for drawing it on the high-res 
screen. As I learned when working with 
one particular set of project cost fig- 
ures, I should have included code to 
force this interval to be an integer. 

30 • 80 Micro, December 1983 







Final words 
on the 
CoCo 



As things stand, the program is ca- 
pable of arriving at an interval of, say, 
$50000.01. This in turn would appear 
on the graph, sans decimal point, as a 
scale factor: $5000001 . Very sloppy, to 
say nothing of downright wrong. 

The solution is simple enough. 
Change the first half of Expgraph line 
1140 from 

C$ = STR$(C) 



to 



C$ = STR$(INT(C)) 



to enjoy classy displays. 
Sorry about that. 

What Do You Really Use? 

A number of people have written 
with similar questions: How can I pos- 
sibly use all the software 1 review? Why 
does anyone need 15 data file managers, 
half a dozen word processors, and three 
or four spreadsheets? In fact, do I use 
the stuff at all, or do I give it a quick 
once-over before consigning it to the 
wastebasket? 

Fair enough. I confess that until I 
began to get some reader feedback, it 
never occurred to me that people would 
think everything I reviewed favorably 
I'd automatically add to my own collec- 
tion of everyday tools. I should be flat- 
tered, I guess. 

Actually, my correspondents are quite 
right; limits exist to what anyone really 
needs, and limits to what anyone can 



profitably use. It makes little sense to 
spend all your time learning new com- 
mand sequences so you can have the 
latest wrinkle in a particular type of 
program — unless you need that wrin- 
kle. Therefore, my standard software 
library changes fairly slowly. 

At the same time, I think it's incum- 
bent on me to thoroughly wring out the 
products I review. I try to spend enough 
time with each program to explore all its 
major features. 

That takes a fair amount of time, and 
occasionally it isn't possible to exercise 
every option of a complex product. 
Naturally, when reviewing software I 
only report on the features and com- 
mands that I have actually used. 

I rely on a fairly standardized set of 
procedures to test the major types of 
programs: word processors, file or 
data-base managers, spreadsheets, and 
so forth. For example, I test spread- 
sheets with some dummy research and 
development (R&D) project budgets, 
departmental salary plans, and IRS 
forms. These simulate my principal 
real- world applications, and give me an 
opportunity to see how each new review 
subject handles a typical set of opera- 
tions. 

I often have to depart from my rou- 
tine to explore novel features of a pro- 
gram, though, and such explorations 
sometimes convince me to add a prod- 
uct to my stable. 

That's how I decided to start using 
Derringer Software's Pro-Color-File 
(P.O. Box 5300, Florence, SC 29502) 
for my heavy-duty data file manage- 
ment. Its particular capabilities for 
computation and report generation ad- 
dress some of my special needs, so I 
thought it worth converting many of my 
files to Pro-Color-File format . 

This involves a fair amount of effort, 
and I certainly wouldn't recommend 
that everyone start from scratch when- 
ever a new program shows up. My point 
is that in trying to keep my reviews hon- 
est, I have the opportunity to be 
tempted to buy more software than the 
typical user. As a result, I probably get 
involved in more file modification and 
rewriting than a sane person would 
tolerate. 

I don't always change every file over 
to accommodate a new product, since I 






You can count on 3M diskettes. Day after day. 

Just like the sun, you can rely on 3M diskettes every day. At 3M. 
reliability is built into every diskette. We've been in the computer 
media business for over 30 years. And we've never settled in. 
We're constantly improving and perfecting our product line, from 
computer tape and data cartridges to floppy disks. 
3M diskettes are made at 3M. That way, we have complete control 
over the entire manufacturing process. And you can have complete 
confidence in the reliability of every 3M diskette you buy. 
Look in the Yellow Pages under Computer Supplies and Parts for 
the 3M distributor nearest you. In Canada, write 3M Canada, Inc., 
London, Ontario. If it's worth remembering, it's worth 3M diskettes. 




' 2oe 3M hears you... 



3M 



El ADD 
CHANGE 
DELETE 
E SORT 
SELECT 
□ SAVE 
PRINT 
COMPUTE 
REPORT 
MERGE 







$20.00 

Why would SofTrends offer its 
award-winning AIDS-III data 
management system to the gen- 
eral pjblic at a tmy fraction of 
its original price' 7 The same 
version featured in the two-part 
series Inside AIDS-III" (80- 
MICRO. March & April. 1983) ? 
Simple To acquaint you with the 
best, httie software-publisher in 
the business To order, call (216 
289-2002 and use you' VISA. 
Master Card Or send your check 
o r money-order for $20 ishipping 
included') to SofTrends Ire 
26111 Brush Ave Euclid OH 
44 1 32 Sorry no C O D s or P O s 
accepted for this special offer 



THE COLOR KEY 




32 • 80 Micro, December 1983 



have some duplication in my working 
collection. 

Now I'll answer the question I raised 
as the title of this section. Please re- 
member the strong personal component 
in this business before you write to 
squawk about my choices. I've favorably 
reviewed plenty of software that failed to 
make me switch for my own use. 

I have used Telewriter (Cognitec, 704 
Nob Ave., Del Mar, CA 92014) for the 
bulk of my word processing ever since 
its inception. When the current version, 
Telewriter-64, became available, its 
ability to right-justify text caused me to 



'CoCo users are lucky 

where spreadsheets 

are concerned. " 



abandon my second word processor. 

I previously used Trans Tek's C.C. 
Writer (194 Lock wood Lane, Bloom- 
ington, IL 60108) for anything resem- 
bling formal correspondence, but now I 
had no motivation for continuing with 
two programs for one job. 

Telewriter's new-found ability to 
produce ASCII files doesn't hurt, 
either. Now it's much easier to use aux- 
iliary programs such as spelling check- 
ers; I use Spell 'N Fix (Star-Kits, P.O. 
Box 209, Mt. Kisco, NY 10549). I can 
read and edit files generated by some 
other programs, too. 

The whole topic of file compatibility 
between programs is something of a 
sore spot with me, incidentally, and I'll 
return to it later. 

I've already mentioned using Pro- 
Color-File for heavy file management. 
This is an area in which I indulge myself 
a little; I have two other file managers in 
my household. 

I still use Trans Tek's C.C. File for 
casual, unstructured applications like 
my file of addresses and phone numbers 
of CoCo vendors. Some of the entries 
include reminders of what the vendor 
produces, others do not, and the whole 
thing is gloriously loose. Ditto for my 
family's file of favorite restaurants. 
C.C. File's lack of structure and limited 
command set are especially welcome 
since I call on it sporadically without 
reference to the documentation. 



I also have specific applications for 
Radio Shack's Color File. For some time, 
I have used it to maintain a text file I call 
COCOFACTS, which contains notes 
about various aspects of Color Com- 
puter operations. 

This is where I keep track of all the 
PEEKs and POKEs I use in program- 
ming. How else would I remember 
where the Next-Data-Item pointer is? 
Color File's two-level indexing scheme 
and on-screen prompts seem right for 
these applications. 

In principle, I could probably handle 
all my file management chores with one 
program. I have used Homebase 
(Homebase Computer Systems, P.O. 
Box 3448, Durham, NC 27702) and can 
vouch for its ability to handle data and 
text files. 

The trouble is, I've become comfort- 
able with my existing three-tier system 
and don't feel like adding a fourth com- 
ponent or translating all my data files. 
The urge I had to unify my word pro- 
cessing is lacking here. 

CoCo users are lucky where spread- 
sheets are concerned. For a while the 
Spectaculators, disk and ROM pack, 
were pretty much the whole story, and 
their capabilities were relatively limited. 
Then Trans Tek's C.C. Calc acted more 
like VisiCale et al., but was hampered by 
being written in Basic. 

Then this spring Elite Calc (Elite 
Software, Box 11224, Pittsburgh, PA 
15238) became available, and suddenly 
unmodified CoCos have a full-blown 
spreadsheet. In the meantime, FLEX 
users could call on the big-league power 
of Dynacalc (Computer Systems 
Center, 13461 Olive Blvd., Chesterfield, 
MO 63017). 

I've used all four, and still have both 
Elite Calc and Dynacalc files in abun- 
dance. I could happily switch to 100 
percent use of either program, but other 
considerations (see the end of this col- 
umn) make me want to stay sharp on 
both. That's not too tough; Elite Calc 
has a simple command syntax, while 
Dynacalc's resembles that of Super- 
Calc, the CP/M-based spreadsheet I 
use regularly at my office. 

Those are my big guns — the pro- 
grams I use almost daily. Of course, a 
lot of utilities come into play for special 
purposes: Master Control (Soft Sector 
Marketing, 6250 Middlebelt, Garden 
City, MI 48135) and Colorkit (Arizin, 
P.O. Box 8825, Scottsdale, AZ 85252) 
to name two. 



THE COLOR KEY 



I've also been experimenting with 
several math and business graphics 
packages and expect to become a steady 
user of one or more, but it's early to de- 
clare my allegiance. My reviews have 
been appearing here and in HOT CoCo 
on a fairly regular basis; look for more 
on graphics over the next two or three 
months. 

Odds and Ends 

I'd like to return to the question of 
the Color Computer versus other se- 
rious 8-bit machines. The CoCo pro- 
grams I use (and many of their major 
competitors) are the equals of the bet- 
ter-known applications programs for 
other computers. I use CP/M software 
almost daily, but that doesn't mean it 
overwhelms me. 

Both Elite Calc and Dynacalc are bet- 
ter in some respects than early versions 
of Supercalc, which is itself arguably 
better than VisiCalc. It has taken the 
newer Supercalc 2 to incorporate some 
features of the CoCo programs: the 
ability to sort a spreadsheet by row or 
column data, for example. 

Telewriter-64 is far easier to use than 
WordStar, and does a perfectly satis- 
factory job on anything but the most 
specialized text processing. For that 
matter, Super Color Writer (Nelson Soft- 
ware Systems, 9072 Lyndale Ave. 
South, Minneapolis, MN 55420) can 
take on WordStar, too. 

As for file and data-base managers, I 
haven't done enough work with CP/M 
material to form a definite opinion. I 
know that dBase II is very powerful but 
quite complex — more complex than 
Pro-Color-File, Homebase, or several 
other top CoCo file managers. The 
CP/M program might do all kinds of 
exotic tricks, but for the moment I feel 
that CoCo users have some competitive 
software at their command. 

What troubles me, though, is that it's 
a real chore to use the output of one 
program as the input to another. Life 
would be a lot simpler if I could pop an 
Elite Calc data file into Radio Shack's 
Disk Graphics to produce a bar chart, 
or if I could get such a chart into a 
Telewriter report. 

Of course it's possible to write a con- 
version program for almost any specific 
application, but wouldn't it be nice if 
CoCo programs talked to one another 
with less fuss? 

Some CP/M software does better: 
You can use WordStar with auxiliary 

»» See Usl of Advertisers on Page 291 



CP/M® and 80 x 24 DISPLAY 

HOLIDAY SPECIAL 

$325.00 ( Re9 ^ p 5 r o ice ) 

For the TRS-80® Model III 
(112K EXTENDED MEMORY ADD *100.00) 




THE HOLMES 
VID-80™ 



FEATURES OF VI D-80'" WITH CP M • 

• ENHANCED CP M« 22 OP SYSTEM 

. READ AND WRITE many disk formats: IBM PC. XEROX, ZENITH Z 100, 
OSBORNE I, KAYPRO II. 8", 40 and 80 TRACK. DS DRIVES ETC 

• 80 x 24 and 64 x 16 Display 

. READ WRYl b HUN many of the thousands of CP M hased husiness and 
personal software packages 

K EX 1 ENDED MEMORY option set up as solid state disk 
. Optional 5MI 12 System speed up SPRINTER II!'* 
. Model IV Capabilities optional modified I 1 M r 6 and 
D PASCA1 " p system optional software required 

INDUSTRY STANDARD: 

The HOLMES VID-80. CP/M 2 2 and 80x24 video upgrade makes the model III one of 
the mosJ powerful computer* on the market. With the VID 80 installed your model III 
can read, write and run numerous CP M based programs from the thousands of software 
packages available for this industry standard operating system. 

The 80x24 display improves resolution and eases use of computer during spread sheet, 
wordprocessing, and programming operations 

These features combined with the TRSDOS and other TRS-80, operating systems makes 
the model III capable ol running more software than any other system currently available 

The VID-80 simply plugs into existing sockets inside the model III without modifications, 
soldering or trace cuts on the system. 



HOLMES has a full range of upgrade and peripheral products available tor the TRS-80 
models I, III, IV and 100 portable computers: products include DISK CONTROLLERS. 
MEMORY EXPANSION SYSTEMS. SPEED UP BOARDS. PORTABLE TAPE DRIVES. 
PRINTERS, CP M 2.2 for MOD IV. etc. 

HOLMES IS YOUR SOURCE FOR 
COMPUTER PERIPHERALS 

More detailed Product Information is available upon request Call or write today for a detailed 
brochure, to place an order or for technical inquiries. Our HOLMES 
buletin board is on line 24 hrs a day Call (801 ) 263 1 103 (300 baud) 



-NEW PRODUCT UPDATE- 

1 CP M for tin- Model IV 

2 Portable 100 Micro Drive, and 8K RAM Modules 



I he following ,ire registered Trademarks TKS 80. TRSDOS, DOSPI I IS, CP M. IICSD Pascal, 

IBM PC. XHROX./ 100 OSBORNE I, KAYPRO II 



HOLMES 

ENGINEERING. INC 



5175 Citfn Pine Drive. Salt Lake City. Utah 84 1 07 
(801) 261-5652 or 24 Hr BBS (801) 263-1 103 
Business hours 8 5 30 MST (Mon -Fri ) 
Sat 10-2 (Sales only) 



Call For Dealer Neatest You 
Dealer Inquiries Inv ited 

One year warranty on all prodin Is 
Add shipping handling $5 00 1 J S and Canada 
All ot nets add l ljbj»Cl lu change 

williuul notice. 



80 Micro, December 1983 • 33 



THE COLOR KEY 



programs to prepare indices and foot- 
notes, for example. I don't think this 
desire for well-integrated software is a 
fetish of mine alone. The best feature of 
Apple's Lisa is its elaborate suite of 
business programs, and integrated 
packages like 1-2-3 promise to be huge 
sellers in the IBM PC community. 

Qearly, someone else cares about 
this problem. The existence of a stan- 
dardized operating system helps, and 
maybe the official blessing of OS-9 will 
result in better-integrated software for 
Color Computers. 

Super CoCo 

The 64K Color Computer and the 
Color Computer 2 are now appearing in 
Radio Shack catalogs, and the first 
samples of the Dragon 32 are out. The 
former and the latter have some appeal- 
ing features, but neither is perfect. 

Therefore, I'd like to share a few fan- 
tasies with you and set down some of 
my thoughts for a dream machine. This 
isn't a truly radical proposal, just some 
ideas I'd like to see incorporated into a 
next-generation Color Computer. 

I'll start with a baseline machine hav- 
ing 64K of RAM and the best of the 
full-travel keyboards. Now, how about 
adding an official clock speedup to 1.8 
MHz. Maybe the operating system 
would have to shift in and out of high 
gear for I/O, but this shouldn't concern 
the user. Add an internal muffin fan if 
necessary to preserve IC lifetimes. 



The machine needs a few user-defin- 
able keys like the ones on the Model 100 
and some of today's add-on keyboards. 
I hope software vendors would prepare 
patch areas so you could add customized 
definitions for such keys to their pro- 
grams. One of the things WordStar 
does right is allow control/digit key to 
represent a series of keystrokes, making 
it much easier to enter frequently used 
command sequences. 



"I'd like to 

share. . . my thoughts 

for a dream machine. " 



A baseband video output for use with 
a monitor could be a monochrome sig- 
nal, and would be used primarily for 
word processing and an 80-column 
spreadsheet. The Dragon 32 has base- 
band and RF outputs already. 

I'd like better A/D converters. Eight- 
bit resolution would be nice, to increase 
today's 64 resolvable analog input levels 
to 256. An integral Centronics parallel 
port should go along with the RS-232. 
Let's get serious about printing, and do 
away with the external boxes and PC 
boards. 



I want gold-plated cable connectors 
everywhere. Weak links like the CoCo's 
disk controller connectors aren't charm- 
ing idiosyncrasies; they're embarrassing 
flaws. 

Dedicate a second 6809, with perhaps 
another 64K of its own RAM, to con- 
trol the display. I'm not kidding; at least 
one such machine already exists in 
Japan. It would be great to have this 
kind of power for graphics of all kinds. 
Consider the possibilities of 40 PMODE 4 
pages, for starters. 

One of the nicest things about design- 
ing dream machines is that you don't 
have to worry about cost. 

The End 

It's the end of the road, ladies and 
gentlemen. I've enjoyed writing The 
Color Key, and I hope that many of you 
will find something of interest in the 
new FLEX/OS-9 applications column. 

I don't intend to abandon the rest of 
the CoCo world. One of my major cur- 
rent projects is a book in which I'll treat 
applications software in more detail than 
the column/review format permits. 

With any luck at all, the book will be 
out in the autumn of 1984. The 
publisher is Scott, Foresman. 

In the meanwhile, I'll see you in HOT 
CoCo. ■ 

Contact Scott Norman c/o The Col- 
or Key, 80 Micro, 80 Pine St., Peter- 
borough, NH 03458. 



MaqiCheck can be used for your Personal or Business 
Checking Account. 

It handles up to 8 separate checking accounts and can produce 
Profit & Loss Statements for up to 199 ledger categories. 

MAGICHECK'S OTHER FEATURES INCLUDE: 

• Pay-by-Phone Accounting 

• Check Writing Capabilities 

• Checks can be Divided into Different Ledger Accounts 

• A Listing of your Personal Tax Deductable Payments 

• Extensive Error Correcting Capabilities 

• Automatic Calculation of First Year Depreciation 

• Automatic Calculation of your Investment Credit 

• Divide Deposits into different Sources to Aid Planning 



MAGICHECK 

Is The Reason You Bought 
A Computer ! 

The cosi of the MaaiCheck Program is only $30.00. Plus $3.00 
for shipping & handling charges. PA residents add $1.80 for sales 
tax. Call Today 800-528-9900. In PA call 1-215-473-6599. Or 
send your check to: MagiComp, 2710 W. Country Club Rd., 
Philadelphia, PA 19131. Please specify : Modi, Mod 3/4; 
LDOS DOSPLUS, or other operating system. (180K Disk Stor- 
age Required) ^ 527 

THE PERFECT GIFT FOR YOU AND YOUR FRIENDS! 



34 • 80 Micro, December 1983 



5tff-^c 




IIV 1 



Guaranteed to make your TRS-80 Color Computer* siz- 
zle with color, HOT CoCo magazine is informative, inter- 
esting, and best of all just for the Color Computer. You'll 
look forward to HOT CoCo month after month because it 
has something for even-one, from the novice right on up to 
the expert. HOT CoCo gives you: 

•PROGRAMMING TECHNIQUES & TUTORIALS— 
that promise to make you a superior programmer. 

•UTILITIES — to save you time and effort on all your 
routine tasks. 

•EXPERTLY WRITTEN COLUMNS— including 
BASIC, GRAPHICS, FLEX and GAMES. 

•HARDWARE & CONSTRUCTION— ideas on inter- 
facing and enhancing to make building projects a 
breeze. 

•EDUCATIONAL APPLICATIONS— will stimulate 
and encourage imaginative thinking in your child. 

PLUS 

•BUSINESS PROGRAMS— sure to make you a star at 

the office. 
•FEATURES ON COLOR APPLICATIONS— make 

your computer reach its full potential and get your 

monev's worth from your machine. 
•BUYER'S GUIDES & PRODUCT REVIEWS-now 

you can stop running around comparing prices and 

products and start running your computer. 
•HOME & HOBBY APPLICATIONS— exciting ways 

to help your computer add enjoyment to your leisure 

time. 
•ANSWERS TO SPECIFIC QUESTIONS— it's like 

having your own private consultant — free! 



Join in the color explosion with HOT CoCo today! Take 
advantage of our money saving offer, 12 issues for $24.97. 
A 13th issue is yours FREE with pre-payment (check or 
credit card). Use die attached order form, the coupon 
below, or call toll free 1-800-258-5473. 



*£>* 



^£Z? ?*''****» 



J. XL»3« I want my 
Color Computer to sizzle 
with color. I understand 
that with payment enelosed 
or credit card order I will 
receive a free issue making a 
total of 13 Issues for $24.97. 



CHECK/ MO DMCD VISA G AE D BILL ME 



CoCo 







card#_ 
signature . 

name 

address _ 
city 



exp. date_ 



state 



zip 



Camilla 6 Meaco S27.97/1 yr. only, U.S. fundi drawn on U.S. bank. 

Foreign Surface $44.97/1 yr only. US fundi drawn on US bank. 

Plraw allow 6 S weeks for delivery. 

•This offer expires January 31, 1984 

HOT CoCo • PO Box 975 • Farmingdale NY 11737 

TRS-80 Color Computer ii a track-mark of Radio Shack, a division of Tandy Corp 33DF8 



See List ol Advertisers on Page 291 



80 Micro, December 1983 • 35 



SUITE 16 



by Dan Keen and Dave Dischert 



Perhaps the most powerful asset of 
any 16-bit microcomputer is its abil- 
ity to become an office or interoffice 
hub that other terminals can access. Its 
multi-user and multi-tasking capabili- 
ties blur the fine line that separates 
minicomputers from microcomputers. 

Terminals, commonly referred to as 
work stations, are typically less expen- 
sive than complete computer units. 
Using several terminals to tie into one 
host computer allows many people to 
take advantage of the main computer si- 
multaneously. 

The host computer, in its standard 
configuration, has a hard disk drive 
connected to it. All of the terminals can 
access information stored on the same 
hard disk. 

Currently, Radio Shack offers two 
ways to add external remote work sta- 
tions to the Model 16. These network- 
ing systems are called Arcnet and 
Xenix. 

Arcnet 

Arcnet, an acronym for attached 
resource computer network, lets you 
connect up to 255 computers to the 
Model 16. 

The terminals can use all of the pe- 
ripherals connected to the host 
machine. These include both floppy 
and hard disk drives and printers. You 
cannot use the host machine, called a 
file processor, as a terminal. Its key- 
board and video display aren't available 
to the operator. 

Arcnet also runs on the Models II 
and 12. It doesn't require the MC68000 




Arcnet and 

Xenix 

hubbub 



board, but every computer in the system 
must have an Arcnet circuit board in- 
stalled. Have your local Computer 
Center do this. , 

Hubs, similar in function to a TV 
antenna splitter, join the work stations 
and the host machine together. One 
cable connects to a hub's input and pro- 
vides several outputs to feed other work 
stations. Passive hubs let you connect 
together four units up to 200 feet from 
the hub. 

Active hubs boost the data signals 
with internal circuitry so you can place 
terminals as far away as 2,000 feet from 
the hub. Combining many active and 
passive hubs together yields a maximum 
distance of four miles between the far- 
thest work station and the host com- 
puter. 

Obviously, Arcnet is a good choice 
for multi-user applications where work 
stations are located in different 
buildings (such as a college campus). 

The owner of multi-user work sta- 



tions must run the necessary cable wires 
through the buildings. Radio Shack 
computer technicians help with the in- 
stallation of their computers in an Arc- 
net system but you must get an electri- 
cian to prepare the necessary wiring. 

We haven't had the opportunity to 
work with an Arcnet system and wel- 
come comments from readers who use 
one. Our understanding is that it oper- 
ates at a speed of 2.5 million bits per 
second. With that kind of speed you feel 
as if you are the only user on the host 
computer. 

Xenix 

The second multi-user system cur- 
rently available is TRS-Xenix, or simply 
Xenix. In contrast to Arcnet, which is a 
hardware configuration, Xenix is soft- 
ware based and requires no special cir- 
cuit modifications on any of the system's 
microcomputers. Since it uses the 
MC68000 microprocessor, you need a 
Model 16, 16B, 11/16, or 12/16 to run it. 

Unlike Arcnet, the host computer's 
video and keyboard are available as a 
work station. However, you can con- 
nect only three terminals (including the 
host) at one time. The other one or two 
terminals interface by way of the two 
RS-232 jacks on the back of the host 
computer. A null modem adaptor does 
the job along with RS-232 cables. 

Under Arcnet, each work station is a 
complete computer, not just a data ter- 
minal. Xenix requires that only the host 
machine be an independent computer. 

As of this writing, you need a hard 
disk drive to run the system, but a floppy 



Assembly-Language Comer 



Prior to displaying any information 
on a video screen, it's usually nec- 
essary to clear the screen and position 
the cursor at a point where you want 
to begin printing. This month we take 
a look at some of the supervisor rou- 
tines available to perform these screen 
formatting functions. 



The video character generator cir- 
cuit in the Model 16 is identical to that 
of the Models II and 12. Therefore, all 
graphics characters and ASCII codes 
are compatible. 

Normally the screen format of these 
computers gives us 80 character posi- 
tions horizontally and 24 vertically. 



The video generator is capable of print- 
ing characters in a larger mode. While 
the vertical count remains 24, you can 
double the width of each letter. Thus, 
in the large character mode, a maxi- 
mum of 40 letters fits on a horizontal 
line. 
Also at our disposal is an inverse 

A-L Comer continued on next page 



36 • 80 Micro, December 1983 



SUITE 16 



version is in the works. Naturally such a 
version is limited due to less disk space 
on a floppy. 

Xenix's basic structure builds around 
Western Electric's popular and estab- 
lished Unix operating system. Xenix 
comes from a thoroughly tested pro- 
gram in the field for 10 years. 

Since more than one person can work 
on the same disk file at the same time, 
imagine the disaster if two people try to 
write the same record to a file simulta- 
neously. Fortunately, Xenix designers 



took this into consideration. The pro- 
gram doesn't allow two users to write 
information to the same record and ac- 
cidentally lose data. 

Xenix divides the computer's RAM 
into separate sections for each user. In 
this way, each of the two or three users 
can run programs independently. One 
can run payroll while another works on 
accounts receivable, for instance. Xenix 
runs with a minimum amount of 256K 
RAM. However, certain combinations 
of programs run simultaneously may 



require 384K or even 512K. 

Both Arcnet and Xenix have their 
pros and cons. Your choice depends on 
your business's particular needs. Xenix 
doesn't require you to make any hard- 
ware modifications to existing com- 
puters; Arcnet does. But Arcnet handles 
up to 255 computers; Xenix accom- 
modates only three. With Xenix, the 
remote work stations need only be data 
terminals such as Radio Shack's Model 
DT-1. Under Arcnet, each work station 
must be a computer. ■ 



A-L Corner continued from previous page 

video option. Normally the back- 
ground of the screen is unlit or black 
and the letters light up (green or white, 
depending on your machine). You can 
reverse this to cause the background 
surrounding a letter to light up and the 
letter itself to appear as a darkened 
area within the block. 

Built within the disk operating sys- 
tem is a routine (referred to as a super- 
visor call) that you can use to establish 
the size of the letters and the nor- 
mal/inverse printing font. 

Placing a zero into byte-offsets 6 
and 7 of the SVC block (a buffer area 
you set up to pass values to the DOS 
routine) switches the video size to the 
40-character-per-line mode. A value 
of 1 placed there produces 80-charac- 
ter lines. In byte-offsets 8 and 9, a zero 
indicates inverse video and a 1 indi- 
cates normal printing. 

The supervisor number that identi- 
fies this routine from other supervisor 
calls is 7. Always place the identifying 
supervisor number in byte-offset zero 
of the buffer. The set-up to call this 
routine looks something like this: 



LDA 


.AO.SVC BLOCK 


MOVW 


@A0,*7 


MOVW 


6@A0,#1 


MOVW 


8@A0,#1 


BRK 


HO 


RET 




SVC BLOCK 




RDATAB 


32,0 



Use the move-a-word (movw) com- 
mand to load the necessary values into 
the buffer area. This is an indirect ad- 
dressing mode where register A0 stores 
the address pointing to the location of 
the SVC block buffer. 



With the values you use in the ex- 
ample, prepare a normal screen for- 
mat — 80 characters per line and no in- 
verse video. 

Supervisor call 7 automatically per- 
forms two other functions. It clears 
the screen (similar to the Basic CLS 
command) and it homes the cursor — 
moving it to the top leftmost position 
on the screen. 

You can use another supervisor 
routine to clear the screen. This is call 
number 8 which sends a character to 
the video display. Examine the ma- 
chine's ASCII code chart in the own- 
er's manual and note that the decimal 
number 30 is a control code for clear- 
ing the screen. By sending this ASCII 
code to the routine that prints a char- 
acter on the display, you can clear the 
screen. However, unlike the last rou- 
tine, this doesn't set up the inverse/nor- 
mal and 80/40 screen formats. 



LDA 


.A0.SVC BLOCK 


MOVW 


@A0,#8 


MOVW 


6@A0.X30 


BRK 


m 


RET 




SVC BLOCK 




RDATAB 


32,0 



Positioning the Cursor 

Before printing any letters or graph- 
ics characters on the video display, 
you may want to position the cursor at 
a specific point to start printing. Su- 
pervisor call number 10 lets you place 
the cursor at any printable location on 
the screen. 

You must move values for the hori- 
zontal (x) and vertical (v) coordinates 
into the SVC buffer area to instruct 
the computer as to the row and col- 



umn on which you desire to place the 
cursor. 

Place the value for the row position 
in byte-offsets 6 and 7. The row posi- 
tion refers to the number of lines 
down from the top of the screen. Off- 
sets 8 and 9 store the column position. 
This is the number of character posi- 
tions from the left-hand side of the 
screen. 

Since there are 24 lines down the 
screen and 80 positions across, halving 
these values to 12 and 40 places the 
cursor in the center of the screen. 



LDA 


AO.SVC BLOCK 


MOVW 


@A0.#10 


MOVW 


6@A0,#12 


MOVW 


8@A0,#40 


BRK 


ID 


RET 




SVC BLOCK 




RDATAB 


32,0 



TAXPAL 



Videotronics of Sarasota, Inc. 

4086 Honolulu Dr. - Sarasota. FL 
813-953-2332 33583 

The most complete and corrective tax 
program seen yet. Will do schedules: 
1040, A. B, C, D, 4797, SE, G 

Automatic transfer ot figures from one form to another 
Make corrections ana watch the changes ripple down 
the lines to readjust all affected figures 

Calculates Taxes Automatically. Also 
does income averaging. All with print- 
out on IRS forms, or use our overlays. 



Model 1/111 

Disk 

Updates 



48K 
199.95 
110.00 



With instructions 



^ Sm> Ust of Advertisers on Page 291 



80 Micro, December 1983 • 37 



REVIEWS 



edited by Lynne M. Nadeau 




Figure I. Monty and Eric play Scrabble. 



Review Contents 

Monty Plays Scrabble 38 

The Statistician 39 

Newbasic 2. 1 42 

Instant Assembler 46 

Model 100 Games 50 

Microspooler 54 

Using Scripsit 56 

OmikronCP/M 61 

Businesspak + 65 



Our reviewers use a five-star rating system. 
One star represents the low end of this spectrum, 
while five stars represent the spectacular and high 
end of the spectrum. 



• ••• 

Monty Plays Scrabble 
Tandy/Radio Shack 
One Tandy Center 
Fort Worth, TX 76102 
Model m, 32K 
One disk drive 
Back-up limited 
$34.95 

by Eric Maloney 

80 Micro staff 

Monty Plays Scrabble isn't going to 
win any tournaments. But it's 
good enough to give the average player 
a run for his money, and challenging 
enough to give the experienced player a 
stimulating practice partner. 

To play Monty, you need a Scrabble 
board and a good dictionary. Either 
you or the game can pick the tiles. The 
program provides a board on the 
screen, showing you where it placed its 
word and letting you indicate where you 
want yours. 

Among other features (see Table 1), 
Monty gives you four skill levels, keeps 
track of the score, and lets you save a 
game in progress. A game takes about 
one hour and 40 minutes to play. 

But enough detail. What kind of 
Scrabble does Monty play? 

At first, I was disappointed. I won 
my first game by the depressing score of 
38 • 80 Micro, December 1983 



468 to 288, and took the next five as 
well. The average tally was 431 to 302. 
This, I thought, is no way for a com- 
puter with a 54,000-word vocabulary to 
perform. 

But Monty surprised me in game sev- 
en, reeling off three seven-letter words 
en route to a 440-383 win. And while it 
hasn't beaten me since, it has occa- 
sionally given me a game worthy of a 
capable human partner. 

A Typical Game 

The best way to demonstrate 
Monty's abilities is to recount an actual 
game. This one is our eighth, and is fair- 
ly typical. We play at the highest 
(Scholar) level, and Monty goes first. 
Figure 1 shows the final board. 

1. My letters: FTAODRT. Monty 
starts off with CAY, whatever that is. I 
counter with FART. (So who says 
Scrabble has to be polite?) "Good 
play!" Monty responds. He says that a 
lot, even for words like IT. Score after 
one turn: 16-26, my lead. 

2. Letters: *IINODT. Some good 
possibilities here — DICTION comes 
immediately to mind. I wait patiently 
while Monty thinks; it takes him about 
three minutes of disk I/O to make a 
move. 

After much grinding and gnashing, 
he plays MOAN, MAY, OR, and AT 
for 22 points. Not too bad. Since I have 
no place to put DICTION, I play 



DICTATION instead for a quick 65. 
"Very great word!" Monty exudes. 
Monty might have an elephantine 
memory, but he has yet to learn how to 
use adverbs well. Score: 38-91 . 

3. Letters: ETEEOID. Monty's re- 
venge. I need to get rid of some of these 
E's. Too bad EDICTATION isn't a 
word. What's taking Monty so long? I 
could spin off a game of Galaxy Inva- 
sion in the time he needs to think. 

"Aha!" he exclaims. That must 
mean he's done. He lays down GAP, 
AD, and PI for 19, and opens up the tri- 
ple word score. Unfortunately, I can't 
use it for anything. I play DECEIT and 
GAPE for 23. Score: 57-114. 

4. Letters: RHQPOOE. Stuck with 
the Q— and with no U in sight. "I'll be 
ready soon," says Monty. I've heard 
that line before. Think I'll go change 
my oil. He finally plays BUM, BO, and 
UN. Wait a minute— UN??? Monty's 
played some weird words, but this one's 
a bit too much. Seeing, however, as I 
don't have an official Scrabble dic- 
tionary, I let it go. 

Figuring that two can play the weird 
word game, I put down HOOPER, 
HUN, and OM. But wait— Monty 
challenges OM! Is it a word? he asks. I 
look it up in my Webster's, and sure 
enough, there it is. "Monty regrets his 
error," he says. Score: 76-160. 

5. Letters: IEARGDQ. Monty loses 
his turn for an unsuccessful challenge. 



REVIEWS 



Taking full advantage, I play AGED, 
BOA, and HUNG for 25. Score: 
76-185. 

6. Letters: IEARGLQ. This rack 
looks suspiciously familiar. Monty 
starts thinking. I go out for dinner and a 
drink. I return to find that Monty has 
played BUNG. Isn't he a character in 
The Wizard of Id? I play GLARE. 
Score: 97-207. 

7. Letters: OKSVXQI. Talk about a 
constipated rack. Monty plays TOWEL 
for 26. I counter with XI, XI, and IT 
for 31. XI is one of my favorite Scrab- 
ble words, and I'm delighted to be able 
to play it twice on one move. Score: 
123-238. 

8. Letters: OKSVTQC. It's getting 
worse. Monty plays IDS and XIS for 
18. 1 put down LOCK for 30. Vowels! I 
need vowels! Score: 141-268. 

9. Letters: ERSVTQE. That damned 
Q! Monty plays RUIN for 15, I can't 
take it any more and exchange my Q, 
getting an A in return. With my luck, 
I'll pick up the Q again later. Score: 
156-268. 

10. Letters: ERSVTAE. Monty plays 
YARNS for 24. Getting rid of the Q 
pays off— I play AVERTERS for 62. 
Score: 180-330. 

11. Letters: OLIIEQW. There it is 



1 


Exchange tiles 


2 


Pass or forfeit 


3 


Save game to disk 


4 


Current totals 


5 


Check your tiles 


6 


Change skill level 


7 


End the game 



Table 1. Monty plays scrabble options. 



again. Monty plays JEE for 26. I play 
WILIER for 18. Score: 206-348. 

12. Letters: VIZNOOQ. I shout at 
the Q to stop torturing me. Monty dives 
into the well of contemplation; I go 
reshingle the house. He finally puts 
down HATSFUL for 26. He picks up 
the remaining tiles, thus sticking me 
with the Q for all eternity. I play AZO 
for 32. Score: 232-380. 

13. Letters: NVIOQ. Monty plays 
EASE, ETA, DOS, and WE. DOS! 
This is too much. I play VIOL for 14. 
Score: 257-394. 

14. Letters: QN. The end is near. 
Monty goes through his usual gastroin- 
testinal tremors and lays down VI*A 
for 12 points. That, as they say, is that. 



Final score: 280-383. 

Final Comments 

Clearly, a huge vocabulary doth not a 
Scrabble player make. You need to be a 
good strategist, too. Monty is not; it is 
apparently programmed to go for the 
highest possible point total, whether 
that means throwing away an S, break- 
ing up a potential seven-letter word, or 
opening a triple-word score for its 
opponent. 

Monty wins an occasional game, but 
it is through brute force rather than 
cunning. 

Still, you don't need a great opponent 
to exercise your own Scrabble skills. 
Monty gives you enough of a challenge 
to keep you from getting bored. And it 
sends you to your dictionary enough 
times to increase your own vocabulary. 
In recent games, it has spun off such 
words as indium, llano, uta, rabbet, 
vug, aff, erne, and dommir. 

One final note: Monty Plays Scrabble 
allows you only one back-up. This is a 
serious problem with a program that ac- 
cesses the disk some 200 times per game. 
Monty could have a short life if you 
don't figure out a way to break the pro- 
tection scheme and give yourself a full 
supply of copies. ■ 



• • • • Vi 
The Statistician 
Quant Systems 
P.O. Box 628 
Charleston, SC 29402 
Models I, D, and in 
$125 

by John Dunkelberg 

The Statistician is an excellent 
statistical and forecasting system 
that contains a wide variety of simple and 
sophisticated statistical analyses. The pro- 
gram is especially' useful for business 
forecasting and complex statistical 
analysis. The Statistician is also an ex- 
cellent tool for an instructor in an elemen- 
tary or advanced statistics course. 

The Statistician is completely menu 
driven so it's easy to use, even for a 
microcomputer novice. Thirty minutes 
after reading the documentation, I was 
running my first regression. 

Multiple Regression 

One of my principal reasons for ac- 



quiring The Statistician was the multiple 
regression package. The Statistician 
contains five different regression pro- 
cedures including Stepwise, Ridge, 
Backward Elimination, and All Subsets 
regressions. I haven't seen Ridge, 
Backward Elimination, or All Subsets 
procedures in any other statistical 
package for micros. 

You can create large models with up 
to about 50 independent variables. This 
is enormous, especially when compared 
to the Radio Shack statistical analysis 
program that only allows five indepen- 
dent variables. 

The output (see Table 1) closely resem- 
bles that of mainframe packages and in- 
cludes t values for the individual coeffi- 
cients as weD as their standard errors. 
Also, the program includes the Durbin 
Watson statistic, which is useful in resid- 
ual analysis and is found on few other 
statistical programs for microcomputers. 

You can list or print the variance/ 
covariance and sums of squares matrix 
as well as the correlation matrix of the 
estimates. Residual analysis is also 



good. You plot residuals or list them 
with the actual and predicted values on 
the screen or printer. 

Another feature I like is that the pro- 
gram saves the predicted values to disk. 
This lets you estimate simultaneous 
equations models. In addition, the Son 
utility ranks the residuals by actual or 
predicted values of the independent 
variable. 

I tested The Statistician's accuracy on 
the Longley data, a benchmark for test- 
ing statistical accuracy. I found The 
Statistician superior to the mainframe 
programs tested by Longley in 1967. 
The program's accuracy was amazing. 

Data 

The Statistician provides an easy data 
entry and editing system. You specify 
the number of variables, then the pro- 
gram displays the appropriate number 
of fields on the display. By pushing the 
appropriate arrow keys, you move 
around the fields or up and down through 
the rows of data. 

All files that the editor writes out 

80 Micro, December 1983 • 39 




REVIEWS 



TRS-80 1, 2, 3, 4, 12. 16 
CPM XENIX 



Multiple Regression 

Stepwise 

Ridge 

All Subsets 

Backward Elimination 
Time Series Analysis 
Descriptive Statistics 
Transformations 



Survey Research 
Nonparametncs 
X-Y Plots 
ANOVA 

Random Samples 
Data Base 
Search & Sort 
Hypothesis tests 



Please call TOLL FREE 
1-800-334*0854 (Ext. 814) 




for more information 

or write 

Ouant Systems ^194 

Box 628 

Charleston. SC 29402 

•VISA-M/C Accepted 



Upgrade Your Radio Shack Software 



Turn your SHACK 

into a MANSION 




With software enhancer 

BLOCK ISLAND TECHNICAL SERVICES, Inc. 

Full value for your money hi a New Fngland tradition, 
a tradition that survives on Block Island today. We have 
created high-quality software upgrades for Radio Shack's 
Model II and Model 111 software packages thai will greatly 
enhance their performance, speed and ease of operation. 

Model lit Accounts Receivable (26-1555) 
Upgrade No. 1 (524.95) 

• Lightning fast machine laniuagr sorts 10-30 
times faster than your original program. 



1 Set up a price file for your products for easy 
transaction data entry Juti enter a predeter- 
rained two digit product number and your pro- 
duct's description and price will automalicalr) 
he entered User friendly prompts allow >ou 
to change the product or pnee easily 

printing complete ttatementi lor dail> balling, 
increasing cash fWt» 



Model II Payroll (26*4503) 
Upgrade No. 2 (S49.M) 



■ hjv 



gone ( 
out closing the preview 
much time it can cost > 
a almost impossible i 
mistake 



, period «nh- 
on kno» how 
w upgrade n 



at period. 
' displayed 



• Complete 941 employer s quarter!) report 
Your option to prmt out 941 or display it on 
•crura Input lines to enter your deposits paid 

Write or caD today for the ibove upgrade packages 
and for a complete tin of other Radio Shack software upgrades 

BLOCK ISLAND TECHNICAL SERVICES, Inc. 

Box 145. Block Ubnd. R.I 02»7 

Telephone (401) 466-2539 „• 542 

ftOOwn to 5O0pm ET 



become part of your data base and any 
of the programs in the package can use 
them. The edit program contains a good 
data report formatting system that 
automatically centers titles and head-' 
ings and aligns data. 

One of the most important compo- 
nents of the package is the data trans- 
formation function. It takes some time 
to become accustomed to this particular 
program, but it's worth it. Using any of 
the 24 transformations, you modify 
data or create new variables as func- 
tions of existing variables. 

The transformation capability is es- 
sential for non-linear multiple regres- 
sion and many techniques in explor- 
atory data analysis. Using this feature, 
you can easily create the necessary 
variables for a polynomial or interac- 
tion regression model. 



Some of the data transforms are 
quite unusual but occasionally useful: 
for example, the additive and multipli- 
cative accumulators. These accumula- 
tors calculate the cumulative sum and 
product of a vector. 

Some of the transformations are de- 
signed for time series modeling. In par- 
ticular, the nth order lag lets you create 
lagged data of any specified order. 

Other Features 

The descriptive statistics component 
computes the following numerical de- 
scriptive measures: mean, median, geo- 
metric mean, harmonic mean, variance, 
standard deviation, maximum and min- 
imum values, mean absolute deviation, 
and range. In addition, the program 
produces excellent frequency histo- 
grams (see Fig. 1). 



DEPENDENT VARIABLE — >PR ICE/DAT 



CONSTANT 
FEET/ DAT 
AGE/DAT 
BEDS /DAT 
BATHS /DAT 
GARAGE/DAT 
RESORT/ DAT 



B 

B 1 

B 2 

B 3 

B 4 

B 5 

B 6 



SOURCES OF VARIATION 



COEFFICIENT 

33482 
-30.2504 
-608.578 

17597.7 

27221.1 
-5487.06 

40420. 5 



ANOVA 

ss 



STD. ERR. 
32100.7 
21.2985 
450.463 
7304.79 
6765.33 
6052.39 
7913.66 



DF 



T-VALUE 
1.04303 

-1.42031 

-1.35101 
2.40906 
4.02362 

-.906593 
5.10769 



REGRESSION 
ERROR 



1.67561E+10 
5.5722E+08 



2.79268E+09 
6.96525E+07 



TOTAL SS 

F=« 40.0945 

R SQUARED- .967816 

DURBDJ WATSON STAT. 



1.73133E+10 14 



2.35218 



Table 1. The Statistician 's output. 



1 LINE - 1 OBSERVATION (S ) 



14 
13 

12 

11 

10 

9 

8 

7 

6 

5 

4 

3 

2 

1 






> 25 



Figure I. Frequency histogram. 



40 • 80 Micro, December 1983 



THE RESULTS ARE IMPRESSIVE..." 

Dennis Kitsz, 80 Micro* ompurjfcg: 12/82 

Langley-St. Clair's* Soft-View 

Replacement CRTs 

eliminates the strobe, 
flicker and fatigue 
from TRS-80's: 

Mow you can upgrade your monitor with 
the new medium persistence green or 
amber phosphor tube. 

State-of-the-art systems such as IBM ,M 
and Apple III"" do not use the less costly 
"P4" B&W display tube because it is 
actually intended for TV viewing and its 
rapid strobes (60 times per second) 
cause irritating eye fatigue. 

No amount of "green plastic" will solve 
this problem. But the new Soft-View 
CRT display tube from Langley-St. Clair 
will. 



Available In slow decay Green or medium decay 
"European Amber" (the standard in Europe) 

Made with Lead/Strontium impregnated glass that 
stops X-ray emission. 

Of high-contrast face glass that also stops most 
(J.V. radiation. 

Available in frosted glass with extra Anti-Glare 
benefits. 

Easily installed... comes with pre-mounted 
hardware, 

Warranted for one full year against manufacturing 
defects or tube failure. 

The finest quality double-dark glass phosphor 
fields to produce dramatic contrast. 

Id<<il for Word Processing and Programming, yet 
fast enough for Games and Graphics. 



,«, ■»«-««" 



-aB?jr 



LSIS Soft-View M CRTS 

[ 1 *GN42 Green Phosphor *79.95 

! I *GN42< i Green Phosphoi ■•. Anti-Glare "■■;■ 

[ I "oh! vi Amber Phosphoi *8'< 
D*OR34G Amber Phosphor* Anti-Gfare 

also available: 

I ! "k.'.'l, kV,i Phosphoi w Ant.Gl.irr • | -, • 

D *B22G Blue Phosphor w/Anti-Glare -i 

Plus: $7.00 for peeking and UPS Shipping 

*l7.00foi Overseas, Pan • i Pbat or UPS Blue Label 
Add Sales rax where applicable 
(Inquire about the Cffl we have BvaHabJefoi 
manyothei • omputej models) 



For MasterCard and Visa Orders only, call 

800/221-7070 ^Bs^s> 

Langley-St. Clair Instrumentation Systems. Inc. 

132 West 24th St.. hew York. N.Y. 1001 1 



low available. 
for 

lodels 4 &16« 




..-■- ' e ' 



"» •• "0»CL ||| 

'M|« mm „. 








Actual umtouetnd ph ^^^ 

• 462 *Wort ippllrr of upgraded i .NT's 

Son \ ■ BM 



REVIEWS 



The program also permits several 
types of hypothesis testing, including 
tests on a single mean, single variance, 
and difference in means (paired and un- 
paired). The paired difference test uses 
the differencing functions in the trans- 
form package, then performs a test of a 
single mean on the differences. One- 
way ANOVA measures the difference 
in unpaired means. 

The ANOVA provides one- and two- 
way analysis of variance; however, the 
program doesn't support multiple ob- 
servations per cell in the two-way 
analysis. 

The nonparametric component con- 
tains six commonly used nonparametric 
tests: Median, Mann-Whitney, Wilcox- 
on, Kruskal-Wallis, Spearman's Rho, 
and the Runs Test. 

The forecasting program is one of the 
strongest available. It performs no less 
than eight different time series models, 
including moving averages, single and 
double exponential smoothing, sinusoi- 
dal models, Holt's two-parameter linear 
exponential smoothing, Winter's ex- 
ponential smoothing model, and adap- 
tive filtering. 

It calculates the mean squared error 
and the mean absolute deviation of the 
forecast. The Statistician also produces 
tables and plots of the predicted, actual, 



and forecasted values on the screen or 
printer. 

The program generates random vari- 
ables from seven different types of dis- 
tributions: Normal, Gamma, Exponen- 
tial, Uniform, Poisson, Binomial, and 
Geometric. 

Another component that particularly 
applies to teachers and students of sta- 
tistics is the sampling program. You can 
get sampling distributions from any 
data set. The program obtains all ran- 
dom samples of a given size if you have 
sufficient disk space on your system. 

The documentation is well-written 
and tutorial in nature. Since the system 
is menu-driven, it's more than ade- 
quate. I quickly obtained answers to my 
few questions with a telephone call. 

Conclusion 

A second version of The Statistician 
with enhancements is due for release in 
September. The new version will cost 
$295, and a regression subset will be 
available for $145. 

The Statistician is an excellent pro- 
gram for anyone interested in perform- 
ing statistical analysis. Moreover, if 
you've already purchased statistical 
software, you certainly should consider 
acquiring The Statistician; it contains 
many features that just aren't available 
in any other package. ■ 



• ••• 

Newbasic 2.1 

Modular Software Associates 

209 18th St. 

Huntington Beach, CA 92684 

Models I, ED, and 4 (in Model ffl mode) 

$39.95 

by Richard Green 



Newbasic 2.1 is an enhancement to 
Disk Basic for the TRS-80 Models 
I, III, and 4. Newbasic includes 49 new 
Basic commands. You can add any or 
all of them to Basic at your discretion. 
The program comes on a 35-track, 
single-density Model I disk. This disk 
contains programs for both Model I 
and Model III users. Model III users 
have to run the Convert utility before 
they can make a working copy of 
Newbasic. The disk also includes four 
sample programs written in Newbasic 

42 • 80 Micro, December 1983 



that display its capabilities. 

The distribution disk does not con- 
tain a Newbasic program. It has two 
programs, Creator I and Creator III, 
each of which builds a Newbasic pro- 
gram for the appropriate computer. 
When you run the Creator program, it 
presents you with each Newbasic com- 
mand, a brief description of that com- 
mand, and the opportunity to include 
or discard that command for the 
Newbasic disk you're making. 

Once you make all the choices, the 
program tells you the total size of 
the Newbasic program you've made. 
You must then specify a file name 
under which to save the Newbasic 
program. 

Newbasic executes exactly as Disk 
Basic does. You must boot the system, 
answer the options required by the op- 
erating system you're using, then speci- 
fy Newbasic instead of Basic. From 
here on, Newbasic operates identically 
with Disk Basic, but with the inclusion 



of the commands you have chosen. 

Program Description 

Newbasic's commands fall into three 
general areas: graphics commands, pro- 
gram development aids, and command 
enhancements. 

Fully half of Newbasic's commands 
are for graphics and sound generation. 
Additionally, several of the enhance- 
ments and program development aids 
lend themselves to rapid and easy 
handling of screen graphics. The graph- 
ics handling abilities of Newbasic are 
quite impressive. 

You can draw circles, ellipses, and 
arcs by using a single command. You 
can even construct figures larger than 
the video display, although you can dis- 
play only a portion of such a figure at 
any one time. 

The command you use is Circle. You 
can modify Circle with up to seven 
parameters, specifying the center point, 
radius, rotation angle, and, in the case 
of ellipses, the radius along each of the 
X and Y coordinates. 

The Draw command draws straight 
lines. You can state 15 different param- 
eters to modify this command. These 
parameters let you draw lines vertically, 
horizontally, or at angles that bisect the 
X,Y coordinate. 

You can draw straight lines at any 
other angle by specifying the starting 
and ending points of the desired line. If 
you like, you can define the starting and 
ending points as points off the screen. 

In effect, you can draw on a grid 
measuring 255 by 255. The upper left 
corner of the video screen is 0,0 and the 
lower right corner of the screen is 15,63. 
One of the nice effects of this is that you 
can make graphics rotate around this 
universe of 255 by 255, but they are in 
view only when the figure is in the por- 
tion represented by the screen. 

Draw is not limited to producing sin- 
gle straight line segments. By using 
several parameters with the command, 
you can specify complicated figures 
with a single Draw. 

The most interesting parameter for 
Draw is the X parameter that lets you 
define a figure as a string expression. 
For example, you can draw a simple 
rectangle with the command DRAW 
"R20,D20,L20,U20" (which means 
draw a line right 20 graphics blocks, 
down 20 graphics blocks, and so on). 
Alternately, you can define the rec- 



an advanced personal computer 




Basic $599 kit (not shown) includes: 

• Software compatibility with TRS-80 Model III and Model 
IV, plus CP/M 

• 128k RAM card (64k normal plus 64k bank-selectable), 
less RAM 

• 80 x 24 and 64 x 16 U/L case alphanumeric displays 
(software selectable) 

• Z-80 CPU. with bootstrap ROM and hardware/software 
selectable 2 MHz and 5 MHz clock 

• High resolution 512 x 256 graphics circuitry, with 
alphagraphics (less 16k high resolution RAM) 

• Disk controller for any mix of up to four disk drives 
(5-V4"/8", single/double sided, single/double density, 
built-in/external) 

• Parallel printer and light pen interfaces. 

• Built in audio 

• Provisions for readily available system ROM 

• Tan polyurethane enameled metal enclosure, with 
power supply 

• Standard typewriter keyboard, plus numeric keypad 

• CPU board, with six expansion slots 

• Parts kit, including ICs. sockets, fasteners and 
mounting hardware 

• Assembly manual 



Complete $1699 kit shown includes: 

• High-resolution 12" green screen monitor 

• Two SSDD slimline 5-%" floppy drives and power 
supplies 

• Hand rubbed, solid walnut end panels 

• RS232 Interface board 

• System ROM 

• 128K system and user RAM 

• 16k high resolution graphics RAM 



Additional Options 

• Single or dual built in slimline 5*4' SSDD or DSD: 
floppy drives and power supply 

• Single or dual external slimline 8" SSDD or DSDD 
floppy drives, enclosure, power supply 

• 128k bank selectable RAM board (for 256K total) 

• 4164 RAMs 

• Monitor 

• Color Graphics (available 12/83) 

• Light Pen (available 10/83) 

• Hard disk host adapter (available 10/83) 

• Factory assembled units (available soon) 



PWXKILWVIS l:l.l=C7WNICS 



TRS-80 is a Tandy trademark 

44 • 80 Micro, December 1983 



537 East Main Street • Lancaster, Ohio 43130 • Tel: (614) 687-1019 



CP/M is a Digital Research trademark 



Dealer Inquiries Invited 



•143 



REVIEWS 



tangle as a string: BOX$ = "R20, 
D20,L20,U20". Then you can repro- 
duce the rectangle anywhere in the pro- 
gram with the command DRAW 
"XBOX$". 

You can do a little more magic by 
specifying scale, which can cause the 
box to be larger or smaller by factors of 
V*, with a maximum range from 1 to 
255. In other words, the normal size rec- 
tangle (scale defaults to 4) could be up 
to 63 times as large by setting the scale 
to 255 with the command DRAW 
"S255,XBOX$". 

Over 20 other graphics commands 
exist, including GSAVE to save a 
graphics memory into a disk file and 
GLOAD to place the graphic file back 
into memory. PGET saves a specific 
graphic into a memory array, PPUT 
restores the array back into the video 
memory, and Paint fills in a specified 
video area, making it all white or all 
black. 

These and the other graphics com- 
mands make possible the fastest graph- 
ics you can get in a Basic program. 
Combine the fast graphics animation 
with the five-octave range (from D 
below middle C to E three octaves 
above middle C) of the sound com- 
mands and you can achieve truly spec- 
tacular games effects. 

The program development aids in 
Newbasic include 12 new commands. 
One of these, QUICKEY, enables 
single-key entry of 39 different Basic 
commands. For example, when you use 
QUICKEY, holding the clear key while 
pressing the 4 key causes CHR$( to ap- 
pear immediately on the screen. 

Holding the clear key while pressing 
the 5 key displays INKEYS, and press- 
ing C displays CMD". It takes a while 
to become accustomed to QUICKEY, 
but once you gain familiarity with it, 
you'll find it a real time saver. 

Another nice feature, the DEFKEY, 
lets you use any 10 keys to call an entire 
string of characters. One key can call a 
maximum string length of 127 charac- 
ters. All 10 keys can call a total of 221 
characters. 

NTRON is a program tracing routine 
that lets you set a specific range of pro- 
gram lines you want traced. Additional- 
ly, you can specify any expression that 
you wish traced, and NTRON returns 
the value of that expression each time 
the program encounters it. 

Yet another tracing function is 



SPOOLON used in conjunction with 
the PON command. PON sends every- 
thing displayed on the screen to the 
printer. Preceding PON with 
SPOOLON sends everything from the 
screen to a disk file. You can then 
redisplay the disk file on the screen or 
send it to a printer. This way, you can 
make a permanent copy of the working 
of a program. 

The handiest program development 
command is LOC. LOC. followed 
with a string you want found searches a 
Basic program for that string. For ex- 
ample, if you want to find and change 
X$ to Z$ in a program, you could find 
X$ with the command LOC"X$". 

Newbasic searches for the first occur- 
rence of X$ in the program with which 
you are working. You can change X$ to 
Z$, then look for the next occurrence of 
X$ with the command LOC. If you 
want, you can do this for the entire 
program. 

Among the Basic enhancements are 
the commands Call, DPEEK, DPOKE, 
and Do. . .Until. You use Call to call a 
machine-language subroutine. With 
this command it isn't necessary to use 
DEFUSR to identify the subroutine. 
You can locate the routine in high 
memory at will. 

You can follow Call with the exact 
memory location of the routine in either 
hexadecimal (hex) or decimal form. 
Alternately, you can follow Call with an 
expression that corresponds to the 
routine's location. You can use any 
number of routines with this command. 

Think of DPEEK and DPOKE as 
double PEEK and POKE. These com- 
mands return and insert 2 bytes into 
memory at the specified location and at 
that location plus one. The number 
returned is in the most significant byte, 
least significant byte form. 

Do. . .Until lets you loop a routine 
that continues as long as the test follow- 
ing Until isn't met. The Until test can be 
any logic or arithmetic expression that 
you want tested. You can nest up to 10 
of these loops (one Do . . . Until expres- 
sion inside another). 

The manual for Newbasic is a spiral- 
bound book showing each command. It 
includes an explanation of the com- 
mand and one or more specific ex- 
amples of its use. 

The explanations are reasonably sim- 
ple, but you'll need some knowledge of 
Bask and of programming to understand 



them. This isn't a serious flaw, as few 
neophyte programmers have any use 
for a set of enhancements like 
Newbasic. 

The manual's best feature is its in- 
stallation instructions. These step-by- 
step instructions tell you how to install 
the program, with specific instructions 
for TRSDOS, LDOS, DOSPLUS, and 
NEWDOS80. 

Conclusions 

Newbasic seems to be a reliable pro- 
gram. Try as I might, I couldn't get it to 
crash. Nor was 1 successful in finding 
any bugs in the time I was able to use 
Newbasic. 

The program development tools 1 
discussed are fairly valuable. The trace 
functions could have saved me hours of 
debugging time if I'd had them in the 
past. 

The spooler functions are much eas- 
ier to use with a Basic program than the 
spooler that comes with NEWDOS80. 
And once you've become familiar with 
the use of QUICKEY, it saves hours of 
typing when you are keying in a Basic 
program. 

If you're writing a program that re- 
quires any amount of screen graphics, 
Newbasic greatly simplifies your task. 
However, the graphics commands take 
some practice to use easily. Most have 
several optional parameters, and the 
results of the parameters can be 
surprising. 

Circle is initially confusing. It begins 
drawing each circle from the three 
o'clock position on the screen. For the 
last 23 years, in flying and in reading 
blueprints, I've used the 12 o'clock 
position (top of the screen) as zero 
degrees for circles and arcs. It took 
quite a while for me to consistently get 
the results I expected from the Circle 
command. 

Once you become accustomed to the 
commands, they are fairly easy to use. 
You'll probably need to keep the man- 
ual handy if you're attempting compli- 
cated graphics, but straight lines are a 
snap. With a little practice, you'll find 
that setting up formatted screens for 
user input is actually easy with 
Newbasic. 

The program's greatest value, how- 
ever, is as a game development tool. 
The rapid graphics and sound genera- 
tor make near-arcade results easily 
achieved. ■ 

80 Micro, December 1983 • 45 




REVIEWS 



MOST WANTED 
t LIST = 



SUPER UTILITY PLUS 3 2 — 

"THE JAWS Of LIFE" -a!ed FIVE STARS in the Oct -83 80- 
MICRO' A MUST HAVE program if you have disks, as reviewed Dy 
all the TRS-80 magazines They all agree thai SU* is a standard m 
the industry This new «-sion is the ULTIMATE and teatures 
Bette- documentation includes directions 'or use on the Mod 4 

$71.15 



-*&■■ 



PowirMAIL PLUS 

The most powerful mailing information system yet tor the TRS-80 
Runs under most current DOSes as well as hard drives lOO^t 
machine language tor maximum speeo* Features ?4 definable 
flags'. 10 level sort, mounting new data OsKs and machine 
;omnaliDie data tiles It also 'converts' many othe' mailing 
programs' data to PowerMAiL* format Eliminates -e-lyping' 

:r — — -=- . Oihf $150 tick 

Pease specify " ~~ ^"— 1 ^£^_ ~ * ■ ~~ 

MOD I HI • ' ' 

MOD 4 true Mod 4 Mode 1 

MOD 11/12*16 (Comes on DP- u Kernel Sys:em| 

POWERDOT II 

A GRAPHICS BREAKTHROUGH' The ULTIMATE in graphics 
design This version is MUCH MORE POWERFUL than previous 
ve-sions and includes BETTER documentation as well Sew 
features ixlude AUTODRAW* and CIRCLE commands Now 
allows you to design your own character sets' includes tots of 
examples on ask Your screen is only a pic! jre window" to a much 
larger drawing rea' You are only limited By disk slo-age no! 
memory Works on EPSON Series (Grattrax ol Grati-ax* required) 
or the C Itoh 8510 (PROWRITER or NEC version) Coming soon lor 
DMP2100 DMP400 and LP-8 



I POttlRDRAW 



WIS 



A fuK screen graphicstext editor Allows you to design your 
graphics and merge them with your BASIC or assembly program m 
Six different formats The files may be used aione or chained 
together tor animation effects MANY programs being produced 
:ommerc:al'y today incorporate POWERDRAW graphics' No 
roya'ties lo pay and they're easy to do 1 Has -eceived E XCELIENT 
reviews >n many magazines 



$31.19 



PONERORIWERs 

lor use wRk SuperScripstt'" 

Allows you to use ALL of Supe'Scnpsit's* teatures with your 
fPSON PROWRITER or F 10 STARWRITER printers' Includes 
patches to running SuperScnpsi! on LOOS with f'oppy or hard 
drive Now ixiudes DISKFILE driver Save formatted text to disk 
now 

D«hf $29.95 mci 



Please Specify 

Powe-DRIVER'P Cltoh 8510 PROWRITER 
PowerDRtVERE EPSON or GEMINI Series 
PowerDRIVER F ■ Cltoh STARWRITER (Leading Edge 

^ The TOOLBOX for LDOS" -~ 

The utilities to perfect LDOS* are available m PowerSOFTs 
TOOLBOX You also get patches and filters to make your system 
manageable" "The TOOLBOX should Be part of every LDOS* 
users' system,'' quoted trom Sept '83 80-MiCRO. who gave 
TOOLBOX a FOUR STAR rating , _., 

5 ~~r: - $«9 is 

US Canada Please add S? 50 Shipping handling Foreign $10 

THE ABOVE PROGRAMS CANNOT BE EXPLAINED IN This 

SMALL AD SPACE PLEASE WRITE FOR COMPLETE 
CATALOG WITH FULL DETAILS DEALER INQUIRIES INVITED 
AVAILABLE THROUGH SELECTED DEALERS EVERYWHERE 





PRODUCTS from BREE2E/OSD INC 

1 1500 Stemmons Fwy 
Suite 125 
Dallas. Texas 75229 
(214)484 2976 „ ^, 

SuperScripsit is a Traoema-k o! lanoy Cap 




LOOS is a trademark of LSI 



46 • 80 Micro, December 1983 





• ••• 

Instant Assembler 
Mumford Micro Systems 
P.O. Box 400 
Summerland. CA 93067 
Models I and IH 
32KRAM 
$39.95 cassette 
$49.95 disk 

by William J. Schauert 

Instant Assembler, a complete As- 
sembly-language development sys- 
tem, provides many enhancements to 
the Radio Shack Editor/ Assembler. It's 
a good system for beginning Assembly- 
language programmers, and an ade- 
quate system for advanced programmers. 

Instant Assembler is unique from 
other editor/assemblers in that it assem- 
bles code as you type it in, line by line. 
This way, you catch mistakes without 
the tedium involved in re-editing to cor- 
rect errors that occur on assembly and 
later debugging the program for logic 
errors. 

Instant Assembler contains an editor 
to create your source files, a built-in 
symbolic debugger, and a linking pro- 
gram that lets you create separate mod- 
ules and link them together into a single 
program. 

I tested the program under TRSDOS 
1.3 on the Model III, and under LDOS 
5.1.3 on my MAX-80. The manual 
states that the program runs under most 
popular DOSes for the Model III. 

This package includes a program disk 
and a 65-page user's manual. The pro- 
gram disk is a TRSDOS data disk. For 
those of you with a single drive system, 
the disk self boots into a special pro- 



gram that transfers the programs to 
your system disk. 

The programs include the Instant As- 
sembler program, three versions of the 
linking loader, a stand alone version of 
the debugger program, and a program 
to restart the assembler with the source 
file in place (if you have to reset during a 
debugging session). The main program, 
DSKIAS, contains the editor/assembler 
and a built-in debugger. 

In the traditional method of creating 
an Assembly-language program, you 
enter your source code with an editor, 
then run the assembler. The assembler 
checks the syntax of each source state- 
ment, and generates machine code or an 
error message. You then re-edit the 
source file to eliminate errors and try 
the assembler again. 

Once you have an error- free source 
file, the assembler generates object 
code, the machine code for execution. 
Since neither the editor nor the 
assembler checks for logic errors, you 
must debug the object code. Most 
operating systems include a debug 
program. 

The author of the Instant Assembler 
takes a different approach to Assembly- 
language programming. This program 
assembles the source line when you hit 
the enter key while in the edit mode. 

It checks for proper Z80 syntax of the 
opcode and operand data, and it looks 
for any duplicate use of the label. It also 
checks the range of relative jumps. If 
you have any errors in the line, the sys- 
tem reports the error and places you in 
the line edit mode with the cursor at the 
first character in the offending field. 

After you finish your source file, you 
can assemble it directly into memory 
and debug your program with the built- 
in debugger. Since the source file is still 
in memory, you can also debug using 
the symbol names in your program. 

If you discover an error, you can re- 
turn to the editor mode, correct the bug, 
and try again. Having all these pro- 
grams in memory at one time helps 
speed up the process of developing an 
Assembly-language program. 

The Assembler 

The assembler portion of the pro- 
gram is actually both editor and assem- 
bler. The editor accepts text from the 
keyboard and places it in the proper 
fields for the assembler. The input data 
is in the form of Z80 mnemonics and 
comments. 



NEWBASIC 

Adds over 40 commands to Disk BASIC 



"Of all the software packages I've purchased since I bought my 
TRS-80* in Dec. 78, this is the best." - R. Hunter, Roswell, NM 



Customize NEWBASIC-include only 
those commands you need. 

Over a dozen easy-to-use and powerful 
graphics commands (e.g., DRAW, LINE, 
CIRCLE, PAINT). 

Produce sound for music & effects. 
RS-232 initialization & I/O. 



Pre-defined and definable keys. 

Disk-based spooler /despooler. 

Execute strings, label lines, 2-byte 
PEEK /POKE, restore to any DATA 
line, block memory move, set 
hi-mem. and much, much more. 

70 page manual; summary card. 



"NEWBASIC is a very useful tool for anyone programming in BASIC . . . At $39.95. 
NEWBASIC offers a lot for the money." — Basic Computing; July, 1983 

"Why weren't some of NEWBASIC s commands part of standard (Disk) BASIC?" 

- R. Haley; Castro Valley, CA 
' 'NEWBASIC is easy and fun to work with. Within hours we were creating stunning high 
speed graphics and interesting sound effects. I'd recommend NEWBASIC to anyone. " 

— J. Ryan; Mt. Vernon. IL 

Now NEWBASIC's more powerful than ever! For a very small, one-time fee, you can 
include our "execute only" version of NEWBASIC along with your programs. Now anyone 
can run your NEWBASIC programs-even if they don't own NEWBASIC! 




1 %$ 



The Collecton^p^ The Analyst 



Improved 
r^^j| Garbage Collector 

mitten 



Eliminate long garbage collec- 
tion (string compression) 
delays! The Collector uses 
only 500 bytes, plus 2 bytes 
per string (during collection). 
Use it with almost any BASIC program, without changing a thing' 

Just look at what The Collector can do, then decide: 





Duration 


sees) 


Irnprovwntnt 


# strings 


ROM 


ThoCetecter 


(x faster) 


250 


12.1 


0.7 


17.3 


500 


46.3 


1.6 


28.9 


1000 


180.6 


3.6 


50.2 


2000 


713.3 


7.8 


91.4 




(Typical garbage 


cowctxxi riotoyv) 






Helps speed up 
BASIC programs! 

Speed up most BASIC pro- 
grams by 15-50%. The 
Analyst makes it easy. And 
you can use it on commercial 
software, as well as your own 

Just run your program while The Analyst "analyzes" it. After 
displaying the results, you add 1 or 2 simple lines to your program. 
The changes enable BASIC to find the frequently used variables 
more quickly, speeding up your program! 

Why settle for slow? Get The Analyst, and speed it up! 



Juki 6100 - $550.00 Daisywheel Printer 

Proportional spacing, 10. 12, 15 CPI, 18 CPS Bold, underline, superscript, etc Uses 
Diablo 630 codes The best printer for the price 1 

Centronics parallel $550.00 ($583 00 in CA) 

Senai $600.00 < $636 00 in CAI 

Printer terms: Add $10.00 snipping Credit card orders add 3 5°/o US O'ders orry 



NEWBASIC (Model l/MI disk. 48K) $39.95 ($42.95 in CA). 

'Execute only" option $ 9.95 ($10 55 m CA) 

The Collector (Model I/Ill disk) $24.95 ($26 45 in CA) 

The Analyst (Model l/ ill disk) $24.95 ($26 45 in CA) 

Some DOS's require 2 drives tor installation. Compatible with most DOS's Diskettes 
ate no\ copy protected. 

Terms: Check, money order. Visa. M/C. and CO D. (+ $2 00) Add $2 50 ship- 
ping m US & Canada. $5 00 elsewhere *US funds only) 



"MSA — Making excellence affordable" 



_ 


Modular 




Software 


1V4-1Q 


Associates 


" ■ -=■ 





209 18th Street 

Huntington Beach CA 92648 

(714)960-6668 



• 58 



Phone for the name of the dealer nearest you. or order directly from us 

Phone orders (Visa. M/C. & CO D only) accepted 24-hours (manned 8-5 M-Fi 

DEALER INQUIRIES INVITED 



►- See Ust of Advertisers on Page 291 



80 Micro. December 1983 • 47 



REVIEWS 



The manual covers each of the 37 edi- 
tor commands in enough detail to let 
even a beginner operate the program. If 
you're familiar with the TRSDOS Basic 
line editor, you already know how to 
use most of the line editing commands. 

The assembler expects the input line 
to follow a fixed format. You can enter 
an optional six-character label as the 
first field. If the first character of the 
label is the ampersand, other program 
modules can use this label. In Z80 talk, 
this label is global or public. If the label 
doesn't have an ampersand, it's known 
only to the current program module. 

The next field is a four-character op- 
code field that can contain any known 
Z80 opcode. It can also contain two un- 
documented Z80 opcodes that let you 
access the upper and lower halves of the 
index registers separately. 

The last field, the operand field, can 
contain up to 45 characters and include 
any type of operand data or comments. 
If you want a comment, enter a semico- 
lon followed by your comment. How- 
ever, you don't need to align your com- 
ments; the editor does this automatically. 

The editor/assembler works quickly 
and efficiently to help you produce 
Assembly-language source code. On a 
global level, the editor has commands 
to insert code, delete lines, and move 
blocks of code from one area to 
another. 

It's possible to list your source code 
to the display or the line printer. When 
you send code to the printer, the pro- 
gram paginates it, but doesn't add a title 
to your list. You can also save code to 
the disk or tape. You can save source 
code in the Instant Assembler com- 
pressed format (a semi-assembled code) 
or in standard Radio Shack EDTASM 
format. 

If you choose the latter, the program 
saves the source in ASCII format with 
line numbers. You can then edit this 
code with Radio Shack's EDTASM. 

You can also include other sections of 
source code in your current program by 
using the Merge command, which ap- 
pends one Instant Assembler file on 
disk to one in memory. As the program 
adds the source code, it checks for Z80 
syntax errors, just as if you entered the 
code from the keyboard. 

Other assembler commands let you 
read the disk directory, delete a file 
from the disk, and find instructions in 
the code that reference a certain label. 

48 • 80 Micro, December 1983 



Another command lets you assemble 
your code directly to memory so you 
can debug it as soon as you finish 
without saving and then reloading it 
with a debugger program. You can also 
save your object code to disk or tape 
when you have a finished product. 

The assembler allows only a few 
pseudo-ops, including the Z80 types of 
DEFM for messages, DEFB for byte 
data, DEFW for word data, DEFS for 
storage allocation, and EQU for sym- 
bolic equates. These have some surpris- 
ing limitations. 

You cannot use the EQU pseudo-op 
to define byte data. A statement like: 

LINEFEED EQU 10 
LD A, LINEFEED 

is not allowed in this assembler. You 
can assign only word length (16-bit) 
equates. 

You can postfix symbols with an ex- 
pression, but the range is limited to - 31 
to +287. This means that LD 
HL,(BEGIN + 31) is allowed, but an 
expression like LD HL,(THEEND 
BEGIN) isn't allowed. 

The storage allocation is limited to 
4,095 bytes in a single DEFS statement, 
but you can use multiple statements to 
obtain greater allocation areas. The last 
limitation is that a DEFM statement can 
only define a string of 43 characters due 
to the length of the operand field. 

You can break your message string 
up into several statements of 43 or fewer 
characters. The assembler also does not 
recognize any ORG, End, or DEFL 
pseudo-ops. The assembler automati- 
cally supplies ORG and End when you 
list the program. 

The Debugger 

After you assemble your program 
into memory, you can switch to the 
built-in debugger program called 
MicroMind. This program is also fur- 
nished in a stand-alone version. Micro- 
Mind has over 21 commands. As with 
the assembler, the manual explains each 
in detail. 

The main routine used in the de- 
bugging process is the Step command. 
This mode lets you step through your 
program in half steps, each step broken 
up into a Fetch and then an Execute 
cycle. You can step through any area of 
the program including sections that 
might be in ROM. 



When you enter the step mode, the 
program asks you for the first address. 
After you enter a valid address, the pro- 
gram fetches the Z80 opcode at that ad- 
dress. The CRT displays the machine 
instruction, the disassembled code, and 
the contents of all registers and most 
flags. 

When you hit the enter key, the pro- 
gram executes the instruction. The dis- 
play keeps the old information and 
shows the new register information. 
This lets you compare the before and 
after effects of the instruction as the 
program executes it. Some commands 
let you fast step up to 99 steps, and exe- 
cute through a call that has already been 
tested. 

MicroMind also supports traditional 
breakpoint debugging. This lets you set 
a break location in your code, then run 
the program until you reach the break 
location. The display then shows the 
current state of the registers. The break- 
point is not restored when you reach it; 
restoring a breakpoint requires a sepa- 
rate command. 

Two blocks of memory appear on the 
display at all times. These blocks are 19 
bytes long and you can set them to start 
anywhere in memory. This is handy if 
you want to keep an eye on a buffer in 
which you're changing data. 

MicroMind also lets you display a 
block of memory in ASCII so you can 
detect string information. The display is 
50 characters long (five lines of 10 
each), and you can move it forward or 
backward with the up- and down-arrow 
keys. Other commands let you modify 
memory and the processor registers. 

Instant Assembler includes some util- 
ity routines in the debugger program. 
The Find Number routine lets you 
search memory for any 1- or 2-byte se- 
quence. 

The Disassemble command shows 
you the Z80 mnemonic code starting at 
any first address and incrementing by 
one instruction each time you press the 
enter key. The program sends this infor- 
mation to the screen or to your printer. 
The debugger also has Hex-to-Decimal 
and Decimal-to-Hex number conver- 
sion routines. 

The MicroMind program is easy to 
use and a good debugging tool. It's 
much better than Radio Shack T-Bug 
and good competition for the disk- 
based debug program included with 
TRSDOS. The disassembler feature is 



CAR TOON CALENDER 




' " ■ *_ * ■ • « ••• II 
** 1 II • 1 1 « • 1 • « t II ,""", 


• t M# t 1 ■•■•• ii • i i IMN ■ I «■» 1 | imii 

"•" < MtH ***** ( ■■! ■ him ■ i mil **»* i iiiii *m.* I H J„ ) 


•• < «•••• "•• • «'" •■• i •***• imii i ni*i ,',,,. '. ,'m, 'in' ! j«| # ***t* 


./i «»». j u, ^ **+ i |0| .,,,. , M# f* 8 ***•"*» i " ,M •** ' '•"* • 


1 j i _ j [ _ j | 



i? HOLIDAY SPECIAL i? 

• Xist enter the year desired and this 
program will print a complete 
calendar, with a beautiful graphic 
picture of your favorite cartoon charac- 
ters for every month. 

» Print calendars for fun or profit for 
yourself, and for your friends and family. 

» Makes a great holiday present! 

• Hanging a calendar in your home or 
office will make a great conversation 
piece. People will be sure to stop and 
say "Hey did you make that!" 

» Source code included - versions 
available for the Model I, II, III and IV, 
tape or diskette, on 80 and 133 column 
printers, and 80 column printers with 
133 character compress mode. 

SB*D FOR IT TOQAri g 

-ONLY- 



30.00 



(Tax and shipping included. ) 



CHECK OFF YOUR TYPE OF SYSTEM 



NAME: 



ADDRESS: 



Make check or money order payable to 
BLUE PRINT SOFTWARE 
lOO Wauwepex Tr. 
Ridge, NY 11961 ,m 



TAPE DISK 



MODEL I 

MODEL II 

MODEL III 

MODEL IV 

Internal Storage 

SO Column Printer 

with 1 33 Character Mode 

Standard 133 Column Printer 



□ 
D 
D 
D 
(_ 



□ 
D 

a 

_K) ? 



REVIEWS 



nice because you can see your code as 
you write it in source as well as in 
machine code. 

The only objectionable item in the 
debugger is that the Z80 prime registers 
aren't included in any of the displays. 
To view these, you must execute an ex- 
change opcode and display the registers 
again. 

The linking Loader 

An old computer saying states: "A 
program expands to fill available memo- 
ry." Well, in case it does, the Instant 
Assembler package has a program to 
help you manage large programs. 

With the Linking Loader, you can 
break your source files up into related 
sections, define entry labels by prefixing 
the ampersand to them, and combine 
the entire program at the end to create 
your final object code. 

The Instant Assembler contains sev- 
eral versions of the linker to create pro- 
grams that start at the top of memory 
and work their way down, or start in 
low RAM and work toward the top of 
memory. All the linkers use the Instant 
Assembler source as their input file. 
You must save your modules in com- 
pressed format to use this feature. 

As you load each module, the pro- 
gram checks it again for proper Z80 
syntax, for ranges of relative jumps, 
and for duplicate labels. At the end of 



the loading session, you receive a sum- 
mary of error count and a list of unde- 
fined labels. 

You can also search for the location 
of any symbol with the Symbol com- 
mand. This lets you find the absolute 
address of any global symbol. If you 
like, the linker sends a list of all global 
symbols and their addresses to the 
printer. After you have all your source 
modules linked, you can save the resul- 
tant object code on tape or disk. 

Conclusion 

The unique feature of this assembler 
is the instant assembly of your source 
code as you enter it. This is a good fea- 
ture for a new Assembly-language pro- 
grammer, because it immediately elimi- 
nates simple syntax errors from your 
source code. 

The editor lets you save your source 
code in the Instant Assembler com- 
pressed format or in Radio Shack 
EDTASM format. If you choose to 
save your programs in compressed for- 
mat, you can save about two and a half 
times the number of bytes of the ED- 
TASM format on your tape or disk. 

The only serious problems with the 
assembler are the limitations on the 
range of expressions and the restriction 
to 16-bit equates. These problems be- 
come severe for commercial applica- 
tions, but might not affect the average 



home user or beginner. 

The MicroMind debugger is easy to 
use and rivals almost any other debug- 
ger available for the Model III. The 
source code linker lets you break up the 
program into smaller sections, and later 
combines them into a single object pro- 
gram for execution. 

The documentation includes a com- 
plete description of each command and 
examples of how to use each one. The 
manual uses a sample program as an ex- 
ample of all other portions of the devel- 
opment system, including the debugger 
and the Linking Loader. 

Because of some compatibility limi- 
tations between this assembler and the 
Radio Shack EDTASM assembler, the 
manual devotes a chapter to adapting 
your programs to EDTASM. It would 
be more helpful if the author of the pro- 
gram corrected these limitations rather 
than discussing how to program around 
them. 

In general, the Instant Assembler is a 
good Assembly-language development 
system. It provides many enhancements 
to the Radio Shack EDTASM system. 

It also works quickly and improves 
user efficiency by having the editor/as- 
sembler and debugger in memory along 
with your program. This is a good start- 
er system for beginning Assembly-lan- 
guage programmers, and a usable sys- 
tem for advanced programmers. M 



■k-kVi 

Model 100 Games #1 

SflverWare 

P.O. Box 21101 

Santa Barbara, CA 93121 

24K Model 100 

$24.95 cassette 

by Eric Grevstad 
80 Micro staff 

Tf you've been waiting for high- 
.Iquality, fast, machine-language games 
for your Model 100, keep waiting. In the 
meantime, SflverWare (a spinoff of 
CLOAD and Chromasette magazines) 
has converted a quartet of simple Basic 
programs for the portable — one or two of 
which are modestly entertaining if you 
have modest expectations. 

The cassette includes two copies each 
of two adventures and two graphics- 

50 • 90 Micro, December 1983 



oriented games. All loaded easily on the 
first try; the documentation includes a 
handy table showing their locations on 
a Radio Shack CCR-81 recorder's tape 
counter, as well as the memory re- 
quirements for each. 

The games, Blockade and Reversi, 
can share RAM with other programs on 
the menu, but each of the adventures, 
Alexis and Frankenstein, fills most of a 
24K machine. 

By that criterion, Alexis (18,500 
bytes) wins the Not Worth Killing 
Everything But ADRS.DO Award. The 
plot is interesting: As the imprisoned 
son of the late king, you must escape the 
usurping General Tarkaan, sail to each 
of four neighboring islands to collect an 
army, and then return to battle Tar- 
kaan, surviving in effect four adven- 
tures and a combat strategy game. 

But Alexis combines this sophisticat- 
ed premise with the clumsy syntax and 



limited range of an antique (1980, 
perhaps) Basic adventure. Given the 
100's 40-column screen, even terse two- 
word commands are too long to fit on 
the same line as the windy "What is 
your command, Alexis?" prompt. 

Other nagging lines— "You can't go 
that way, Alexis"; "You have boarded 
the boat, Alexis"— make the name 
begin to sound like fingernails on a 
blackboard. 

Alexis has annoying random ele- 
ments, too: Sometimes Pluto gives you 
the Crystal Sphere of Hades if you bring 
him the giant pearl, but sometimes he's 
cranky and demands something else. 

While sailing from island to island, 
you have to keep an eye on the weather 
and type WAIT if it looks stormy. Even 
if you do, the program occasionally kills 
you off, saying "You should have 
waited." 

Adventurers used to brain-busting 



The STX-80 printer for Christmas '83 ! 

What a great gift idea! 

It's the STX-80 printer from Star. Sleek, 
compact and priced under $200, it's sure to 
put you in a very giving mood. 

The STX-80 prints whisper-quiet print- 
outs. It features true descenders, foreign 
language characters and special symbols. It 
offers both finely detailed dot addressable and 
block graphics. 

And you can give it with confidence 
knowing that it can run with virtually every type 
of personal and business computer. 

The STX-80 printer from Star. It's 
the perfect gift for every computer user in your 
life. Especially if one of them happens to be you! 

Enjoy your presents and have a happy 
and healthy holiday. 



micronics'inc 

THE POWER BEHIND THE PRINTED WORD. 

Computer Peripherals Division. 
PO Box6121Wi DaN I, TX 75261 (214)456-0052 




Quality you expect, at a price you 




BECK DOUBLE DENSITY DISKETTES 

SINGLE SIDED A ^%<4Q /£^%"TQ DOUBLE SIDED 

Our message to you is simple. If you like the quality of Dysan,Verbatim.3M, et al, you'll like the quality of 
Beck soft sector, 5 1 /4" flexible diskettes. The only major difference is cost. We're less expensive. In fact, a lot less expensive. 



Why does Beck cost less? 

Our philosophy is: Excellent quality and reliability, at a cost 
that beats the jackets off other diskettes. We can do it be- 
cause we (1) put our money into the product, not mega- 
marketmg schemes and fancy packaging; and (2) sell our 
money-saving 25-diskette pack to you direct via a toll free 
order line, so you get fast, door-to-door service efficiently. 

When you buy Beck, you've got the best. 
Beck Quality. Beck Reliability. 
And, of course, Beck Price. 

1 D, soft sector 5Va" diskette $2.19 each 
2D, soft sector 5Va" diskette $2.79 each 



For IBM, Apple, TRS and 97% of popular 
microcomputers. 



What about quality and reliability? 

At Beck, our success as a diskette manufacturer depends 
upon our ability to provide you with a fully reliable, quality 
diskette - every time. For that reason we take no shortcuts. 
You get the best because we are committed to excellence. 
Every diskette is manufactured to very strict quality stand- 
ards. We test and retest 21 times throughout the manufac- 
turing process to insure compliance with no less than 42 
rigid specifications. We make sure you get the very best - 
a 100% certified, 100% error free diskette 

Our satisfaction 
money-back guarantee 
and full ^ year warr- 
anty /are proof of 
our commitment to 
excellence and 
confidence in 
our product. 










Order Now 
Toll Free 



COD'S 
■ CASH 
ONLY 



Corporate Accounts Welcoi 




Door to Door in 48 hrs. 



OXKMm 



Order Toll Free 1-800-232-5634. Available in 25 pack only, plus freight. Complete 

with hub reinforcing rings, Tyvek envelopes, color coded user tables, and nonmetallic 

write protect tabs. All Beck Diskettes meet or exceed ANSI specifications. 









REVIEWS 



puzzles will be sorely disappointed. 
Alexis begins his odyssey in a jail cell, 
where the guards put him without re- 
moving the skeleton key he carries. 

On the first island, I worried about 
natives or monsters but found only stut- 
tering strings: "Alexis, you are on the 
shores of the island of Skiros on the 
island of Skiros." 

By contrast, while no one would call 
Frankenstein a great adventure — simple 
two-word commands ("Untight candle"), 
slow Basic that lets you type in a com- 
mand before the display's processed your 
previous one — it's a pleasant few hours' 
exercise. 

Frankenstein (15,000 bytes) is rela- 
tively easy, but has a couple of clues or 
items that form a good introduction to 
adventuring logic. I can't recommend it 
for children, though, because it involves 
digging up and hacking at corpses. As 
the last surviving relative of Victor 
Frankenstein, you must finish his work 
and activate the monster, who's short a 
few parts. 



But once you get into it — scurrying 
between the mansion, the graveyard, 
and the old mill; trying to get at and 
open the safe; and dodging quicksand, 
werewolves, and finally the awakened 
monster — Frankenstein is ghoulish fun. 

Like Alexis, however, it might tempt 
portable players to cheat. For people 
used to Model I/III disk adventuring, 
it's all too easy to hop into Basic for a 
simple LIST. (That's how I learned the 
trick of getting past the wolf; I'd never 
have been gruesome enough to think of 
it myself.) 

Both Frankenstein and Alexis have one 
wonderful feature, the best thing about 
Model 100 adventuring — you can save a 
game in progress to RAM (your position 
is stored as a bunch of numbers in a 
350-byte do-file), replacing disk or 
cassette I/O with "Save game" or "Load 
game" and a tap of the enter key. 

Key work isn't so easy in Blockade 
(6,500 bytes), a semi-Centipede game in 
which you steer a snake around the 
screen, trying to reach targets and grow- 



ing longer as you do so. The targets ap- 
pear and disappear randomly, some- 
times for no longer than an LCD 
flicker; each is worth a random one to 
nine points. 

Hit the wall or your tail, or your op- 
ponent in two-person games, and you 
lose five points. Blockade then displays 
your current score and restarts with new 
snakes. 

The word that springs to mind, espe- 
cially after the opening instructions take 
eight seconds to appear, is "slow"; only 
the fastest of three speeds is at all in- 
teresting, and sluggish response makes 
maneuvering difficult. Rather than the 
Model 100's arrow keys, the Esc, tab, /, 
and shift keys steer single players up, 
down, left, and right respectively. 

Two-player games are awkward. Not 
only is the 100's screen hard for two 
people to see at once, but the second 
player has to use the apostrophe, slash, 
comma, and period keys to steer, revers- 
ing the order (left hand up/down, right 
hand left/right) of the other arrangements 



NEW PRINTERS ADDED ! FIND YOURS BELOW. 

Good This Month 

RADIO SHACK • CENTRONICS • COMMODORE • EPSON - ANADEX - BASE 2 - IP1 



RIBBON SALE 



PRINTER 

MAKE, MODEL NUMBER 

(Contact us it your printer is 
not listed We can probably 
RELOAD /our old cartridges I 



ANADEX 9000 Series 

BASE 2 

C. ITOH Prowrltar 1550-8510 

NEC 8023 

RADIO SHACK 
DAISY WHEEL II 

CARBON FILM (1419) 
COLORS efuVeSovW. 
LONG-LIFE FABRIC (1449) 

LP l-JI-IV 700 Zip-Pack (1413) 

DM P-20o! 1 20 (26- 1 483) 

DM P-500 (26-1482) 

DMP-2100 (26-1442) 

LP III- V (26-1414) 

LP VI-VIII DMP-400 (26-1418) 

LP VII DMP-100 (26-1424) 

EPSON MX 70-80 IBM 
MX 100 

CENTRONICS 3S2OS2W000 Sartas 

COMMODORE 8023P 



RIBBON 
SIZE 



INSERTS EZ-LOAD,. 

DROP IN, NO WINDING 1 

EXACT REPLACEMENTS 

made in our shop. 

Cartridges not included 



IIS/3 



$66/12 



S380V72 



$15/3 



$5*12 



$280/72 

: r 



$45/12 
$54/12 



$252/72 



154/12 
$46/12 



$288/72 
$288/72 
$360/72 



$15/3 

$15/3 



$288/72 



RELOADS** 

You SEND your used 
CARTRIDGES to us. We put 
OUR NEW INSERTS in them 



m 



-«]0*« Exact Replacements 

S§£ C. ITOH - IDS - DATA ROYAL - OTHERS 



$ 7«a./2or more 



$ 8««/2or more 



$ 6 »«./2or more 



$ 6eaJ2of more 



$ 4ea. 12 or more 



$ ■•*. 3-11 
$ 8/1 



$ 7 •« J2 or more 



$ 7/1 
S 7/1 
$ 8/1 
$ 7)1 
S 7/1 



$ 6 en 12 or more 
$ 6ei./2or more 
$ 7 oa./2 or more 



$ 6eaJ2ormore 



NEW CARTRIDGES 

(from the various 

manufacturers Subject 

to availability *) 



$30/2 
$16/2 



$ 6eaJ2or more 



$ 6 ea .'2 or more 
$ 7 ea./2 or more 



$ 7/1 



$13 eaJ2 or more 
$ 6ea-/2ormore 



WORRIED ABOUT ORDERING BY MAIL' Rela> We ve been in business tor many years and can please Ihe 
smallest and largesi account You receive some o' the finest ribbons available made ot our own exclusive IMAGE 
PLUS + i- fabric and carbon turn Our ribbons lit your printer exactly COMPARE bul BEWARE 1 We order all Ou' 
competitor's products and are amazed at what we get Have you ever received a new fabric ribbon you nad to 
unwind and dump out on the table before you could use if We nave Or. carbon film inserts that nad no end ot 
ribbon sensor' Or cartridges with only HALF enough r.bbon WITHOUT a Mobius Loop'' (No bargain al ANY price 1 ) 
We use the latest stale-ot the art production equipment and are blessed wilh a line, dedicated slaft We guaraniee 
everything we make, period Our ribbons are made Iresh daily and our goal is to ship your order within 24 hours 
Write for our brochure, price list and newsletler. INK SPOTSm 



$27/2 
$24/2 
$27/2 
$15/2 
$15/2 



$81/ 6 
$72/ 6 
$81/ 6 
$42/ 6 
$42/ 6 



$162/12 
$144/12 
$162/12 
$ 78/12 
$ 78/12 



$48/ 6 



S 96/12 



$69/ 6 



SILVER DOLLAR 

WIND to LOAD 

WHY DO Wt SELL THESE 7 



order fro 
sell ther 
Ihem ou 
the me! 



e type ribbon you get if y 
n our fellow advertisers We 
i tor less since we maKe 
■selves Oo you 'eaiiy 



ind 



lence oi 



unwinding and dumping this type 
ribbon into a wastebasket or out on a 
newspaper and/or winding it into > 
cartridge 1 We don t know why these 
are bemg sold Computers should 
Simplify your lite not make it more 
complen lust to save a tew pennies 
You are welcome to order these if you 
cannot afford our EZ LOAD.' 
INSERTS RELOADS or NEW CART 
RIDGES But BEWARE 1 You now 
know how to avoid disappointment 
One more caution be sure to check 
l"e length of any ribbon BEFORF you 
buy it For instance an MX ICO ribbon 
Should be 30 yards long not 20 as 
(he MX 80 



$12/3 
$11/3 



$44/12 



$252/72 



$12/3 

$15/3 



$44/12 
$54/12 



SEND CHECK MONEY ORDER or COD TO 

BCCOMPCO 

800 South 17 Box 246 
SUMMERSVILLE. MO 65571 

CALL FOR LESS ON SATURDAY' 8.30 fo S.-OO(CT) 

(417)932-4196 



-2&U* 



P'U 



COST PLUS 10% 

RADIO SHACK COMPUTERS SOFTWARE SUPPLIES ACCESSORIES 

Caf^o^ase^rwr/fe^oMjurCOSTPU/STOIj^n'EflM/ 



80 Micro, December 1983 • 53 



REVIEWS 



or the Model III arrow keys. 

As if that weren't enough, the game 
drags on until someone reaches 100 
or - 100 points, or until a player leads 
his opponent by 100 points. This can 
take some time. The playing options 
and default values (one player, sound, 
medium speed) are nice touches, but 
Blockade remains basically a dull game. 

Reversi, on the other hand, is the 
same old Othello that's been on micros 
for years, but the Model 100 version is a 
first-rate use of 5,250 bytes. The docu- 
mentation is poor — I'd never played 
Reversi before and learned by trial and 
error — but the game is neat, simple, and 
fiendishly challenging. 

On a Model I or III, Reversi was in- 
teresting. Scaled to fit in your lap, it's an 
ideal armchair or plane-ride diversion. 

While two can play, Reversi is best as 
a solitaire duel against the 100. A # sign, 
steered around an 8-by-8 grid with the 
arrow keys, lets you enter your move, 



capturing enemy pieces between two of 
yours. Then the 100 takes its turn, mov- 
ing the # sign around the board as if 
considering moves before making its 
choice and capturing even more pieces. 

Games become grim, vicious fights 
for the crucial edge and corner spaces; 
toward the end, the lead swings wildly 
back and forth until a musical salute an- 
nounces the victor. I've managed sev- 
eral wins and a tie, but I'm by no means 
through playing. Of the four Silver- 
Ware games, Reversi is the only one I'm 
keeping in my Model 100. 

I can recommend Reversi because it 
takes new life in a lap-sized version, but 
the other Model 100 games have no real 
attraction except portability. Probably 
soon there'll be adventures with plots as 
elegant as the save-to-RAM feature, or 
arcade games that aren't anchored by 
plodding Basic. The Model 100 will be a 
great game computer. It just isn't one 
quite yet. ■ 



• •*• 

Microspooler Buffer/Interface 
Consolink Corporation 
1840 Industrial Circle 
Longmont, CO 80501 
$199 (16K parallel to parallel) 



by Mare-Anne Jarvela 
80 Micro Technical Editor 

If you've ever waited impatiently for 
your printer to stop printing so you 
could use your computer again for other 
tasks, here's a microspooler that makes 
work much easier for you. 

The microspooler stores data until the 
printer is done, letting you continue your 
work. Data acceptance rate is up to 5,800 
characters per second. 

You can also use the microspooler be- 
tween a phone modem and a printer, or 
the modem and your computer. 

The four spooler models available in- 
clude parallel to parallel, parallel to serial, 
serial to serial, and serial to parallel con- 
figurations. The model I describe in this 
review is parallel to parallel. 

You can configure each model to store 
16K, 32K, or 64K of data. The price is 
slightly higher for 32K and 64K, and 
serial models are more expensive than 
parallel. 

54 • 80 Micro, December 1983 



The microspooler is small: 6.3 inches 
high by 2.6 inches wide by 8.3 inches 
deep. It's a white box with black edges 
that weighs two pounds, 15 ounces and 
stands vertically to save space. 

A two-digit numeric display on the 
front is the status readout that tells you 
how much data is in the spooler or how 
many copies are left to run. On the 
front you'll also find the copy/pause 
button and the reset button. 



"The microspooler 

stores data until 

the printer is done, 

letting you 

continue your work. " 



The back has two ports, one for input 
and one for output. The on/off switch 
is also on the back. Connectors for 
parallel ports are 36-pin Centronics 
compatible; the input port is the recep- 
tacle and the output port is the plug. For 
serial ports, the input port is the DB-25S 
receptacle and the output port is the 



DB-25P plug. 

Using the Microspooler 

The microspooler hooks up to most 
standard printers, but lack of standard- 
ization in the printer industry might give 
you problems in getting the right kind 
of cable for your printer. Consolink is 
helpful if you need advice or help in 
building your own cable. 

It's simple to hook up a parallel 
printer and microspooler. With the 
serial microspooler or printer, you have 
to set a few switches. The serial ports 
also have selectable baud rates. The 
manual is easy to follow and tells you 
exactly what to do. 

When you first turn on the micro- 
spooler, you can perform a self-test. 
Press and release the reset button while 
holding in the copy /pause button. This 
is a software test of ROM (read-only 
memory). 

If this test is successful, your printer 
tells you ROM is OK and how much 
memory is available. Now you can start 
filling your buffer. 

The minute you start sending data 
from your computer to the printer, the 
microspooler fills up and control re- 
turns to the computer. The printer starts 
printing simultaneously. The status 
readout changes from 00 to 01 (IK) and 
so on as you send data. 

When you stop filling the buffer, the 
readout decreases until it reaches 
when the printer finishes printing. Reset 
the buffer to 00 if you don't want an ex- 
tra copy. While the printer is running, 
you can press the copy/pause button if 
you need to change the paper or make 
adjustments. 

When printing is complete, press the 
copy/pause button for one more copy 
of whatever is in the microspooler's 
memory. It's also possible to preset the 
number of copies (up to 99) you want 
before you start printing. Press the 
copy/pause button until the desired 
amount of copies appears on the 
readout. 

You also have the option of pausing 
after every copy. The microspooler also 
has a pause on form feed function. 

I found the microspooler simple to 
install and easy to use. It's a helpful tool 
if you have a lot of printing to do. The 
microspooler frees you and your com- 
puter to do other things while the print- 
er works. All in all, the microspooler is 
a good buy. ■ 



TRS-80 



THE WAIT IS OVER 

CP/M 

EXCLUSIVELY FOR THE 

Model 4 



Now, for the first time, unleash the powerful features resident in your Model 4 computer. Open up the vast 
store of CP/M software such as WordStar" . dBASE II and Multiplan™, along with thousands of others. 



• Includes MODEM 7, a powerful public domain communica- 
tions program for file transfer and remote data base access 
such as CompuServ and the Source. 

• Supports 80 x 24 video, reverse video, direct cursor 
addressing and more. 

• Utilizes the Model 4 function keys and allows user defined 
keys. 

• Auto Execute command for turnkey applications. 

• FORMAT utility permits up to 52 disk formats to be con- 
structed, all menu driven. 

• Fast backup routine with verify for mirror image copies. 

• All support programs are menu driven for ease of use 

• Ready to run in the standard 64K Model 4. The additional, 
extra cost, 64K RAM upgrade not required. 

• Complete with over 250 pages of comprehensive user 
documentation. 

AVAILABLE NOW FOR IMMEDIATE SHIPMENT $ 199.95 

The full line of MicroPro software is now available formatted for the Model 4 using our CP/M Each disk is already configured and ready to run Just install 
the printer of your choice and go 



Includes INTERCHANGE ™. a utility that allows reading, 
writing and copying 20 different manufacturers' disk 
formats such as IBM, KAYPRO, OSBORNE. XEROX, etc. 

Includes MEMLINK™, a unique feature that uses the 
optional 64K RAM memory as a fast disk drive. 

Complete with all these CP/M utilities; ASM, DDT, DUMP, 
ED, LOAD, PIP, STAT and SYSGEN. 

Operates at the 4Mhz clock in the standard Model 4 mode. 

NO HARDWARE MODIFICATIONS. Just insert the disk and 
boot. 

NO COPY PROTECTION. Backups may be made for your 
own use and protection. 

The CONFIGURATION program supports a full range of 
5-1/4" disk drives: 35, 40, 77 and 80 tracks, single and dual 
sided in any combination as well as the standard Model 4 
drives. 



WordStar Fast memory mapped version $250 

MailMerge* Multi-purpose file merging program 125 

SpellStar* 20.000 word proofreader on a disk 125 

Starlndex 1 " Creates index and tabte of contents 95 

WordStar Professional All the above for only 450 



InfoStar'" Advanced DBMS $250 

ReportStar'" Report generator & file manipulator 175 

DataStar'" Data entry and retrieval package 150 

SuperSorr Fast and flexible sorting is yours 125 

CalcStar™ Advanced electronic spreadsheet 95 



ORDER INFORMATION 

Can row and your order will be shipped at once from our 
Dallas warehouse We accept American Express. 
MasterCard. Visa, and most any other form of payment 
known to man Credit cards are not charged until your 
order is shipped Add $4 UPS surface shipping and 
handling on orders within the 48 States. No State Sales 
Tax on software or shipments delivered outside of 
Texas No refunds Defective items are replaced upon 
return, postpaid 



ORDER NOW . . . TOLL FREE 

800-527-0347 
800-442-1310 



The To* Free lines are for orders only 
Specifications subject to change without notice 
CP/M is a Trademark of Digital Research. !nc : Interchange and Memknk are Trademarks of Montezuma Micro. TRS-80 is a Trademark 
Starlndex. intoStar. ReportStar. DataStar. SuperSort and CateStar are Trademarks of MicroPro International Corporation Muttipian is a 



128K MEMORY UPGRADE 

Our upgrade includes 64K of I50nsec RAM. genuine 
PAL* chip and instructions for installation. This kit will 
upgrade your 64K Model 4 to 1 28K and aHow the use of 
our MEMLINK and TRSDOS 6.x MEMDISK Comes 
with a full 1 year guarantee. 

A BARGAIN AT ONLY $99.95 



c Copyright Montezuma Micro 1983 

of the Tandy Corporatxxi; WordStar. MaiMerge. SpeiiStar. 
Trademark of Microsoft 




NtONTEZUNUt 
NUCRO 



214-339-5104 

Redbird Airport. Hangar # 1 8 

P O Box 32027 

Dallas Texas 75232 



' WE KEEP YOU RUNNING 




* See List of Advertisers on Page 291 



80 Micro, December 1983 • 55 



TIRED7I 

of typing DBfc 1, COfT "FILSMAMI": 1 TO 

"nUNJUO": 0, rOMB "TBJOUkMME": 0. LIST 
"mnUlO": 1, LOAD """mm" (P = 3), 

MMUVI = and on and on and on) 
Then you are ready tor DOSTAMDt Imagine 
over 140 commands that TOU define, exe- 
cuted with ONLT ONE OR TWO KEYSTROKES' 
Instant sorted directories with 1 key. Load 
Basic, protect memory, run your program 
with 2 keystrokes. List a rile to the screen or 
the printer, print a directory, copy a rile 
from one disk to another, copy the entire 
disk and lor Newdos BO owners, change a 
PDRIVE with 2 keystrokes 
Your DOS has a lot ol great features The 
trouble is. you have to remember all those 
commands. With DOSTAMKB those com- 
mands are 1 or 2 keystrokes away. Nothing 
to remember and nothing to forget, Just 
use it* 

DOSTAMUt is configured tor each DOS. 
that is. we use the SPECIAL features in TOUR 
DOS tor the GREATEST utility you'll ever 
want Once you use DOSTAUnt you'll won- 
der how you got along without it. Now 
available for NEWDOS80. DOSPLUS. MULTI- 
DOS and LDOS for $49 95 complete with the 
easiest instructions you'll find By the way. 
DOSTAim is written in FAST Z 80 machine 
code. 

SPECIAL 
INTRODUCTORY OTTER . 
$39 96 




DEALER [NQU1BIES DOTTED 



■c 



167 



CDC 

Serious Software for the 80s 

inowe" Stree' Var Nuys C* 91405 i213> 997-969? 

Toll Free Order (800) 092-5235 



REVIEWS 



• • • • Vi 

Using Scripsit 

William J. Haga 

Wadsworth Electronic Publishing Co. 

10 Davis Drive 

Belmont, CA 94002 

Softcover, 250 pp. 

$21.95 

by S.F. Tomajczyk 
80 Micro staff 

It's said that you can't teach an old 
dog new tricks. It seemed true until I 
began reading Using Scripsit by William 
Haga. That's when I realized that, al- 
though I've actively used Scripsit for the 
past year, I haven't really been using it. 
Using Scripsit is truly user-friendly. It 
represents what a reference book should 
be: comprehensive and informative con- 
cerning the subject matter, readily 
accessible for locating specific informa- 
tion, and most importantly, communi- 
cative in an understandable fashion. 



BREAK FREE FROM "CANNED" SOFTWARE 



leO** 1 




to CONTROL YOUR TRS-80 

Better BASIC and Machine Code 

by Ian Stewart, Robin Jones, and Nevin B. Scrimshaw 

CONTROL YOUR TRS-80 will teach you techniques 
for writing more creative programs quickly and clearly 
while having more fun along the way. Plus, you'll be 
introduced to MACHINE CODE — the computer's 
inner language. Let this book show you how to: 
■ Program a simple word processor 

* Build a game tree 

* Perform a real-life simulation study 

* Take advantage of split-screen capacity 
AND MORE 



CONTROL YOUR 

TRS-80 



Better BASIC and Machine Code 




In short, everything you need to 

CONTROL YOUR TRS-80! 

P«p«rb»ck/200 pp/ISBN 3 7643 3143-7/$14.95 

2X5 ORDER YOUR COPY — CUP THIS COUPON 



From BIRKHAUSER BOSTON, Inc. 
- BOOKS TO MAKE YOU 
COMPUTER- FRIENDLY 



-158 



Please rush me copy(s) oi 

CONTROL YOUR TRS-80 

Total pu r chase $ 

Shipping fir Handling $ 

Mm. randnli ptew* add 5tt mIm tax TOTAL: $ 

Bill me H 

I enclose i: check HVTSA HMastercherge 

card no. #»p date 



2.00 



Signature. 



(please print) 

Name 

Address 

City 



St*t«_ 



Zip. 



Send To: BIRKHAUSER BOSTON. Inc. 
Bos 2007 M 
Cambridge, MA 02139 



The book discloses everything you 
ever wanted to know about using Scrip- 
sit's capabilities on your Model I or III. 
The information applies only to Scripsit 
versions 3.2 and 1.0, so if you have 
Scripsit on a Model II the book won't 
be of any use to you. 

Using Scripsit employs a hands-on 
approach to learning to get the most out 
of Scripsit. You should read it with your 
computer in front of you. William Haga 
presents each procedure in numbered 
steps that tell you what to do, what your 
video display looks like when you do it, 
and how the printed result looks on 
paper. 

You'll never feel lost or confused. 
And to make certain that you won't, 
Haga includes exercises to test your 
growing skills in using Scripsit. 

At the end of each chapter, a Com- 
mon Mistakes section lists the problems 
and solutions you're most likely to en- 
counter. Also, the left margins are filled 
with comments that clarify the text, 
provide helpful and humorous tidbits, 
and direct you to other sections of the 
book for further information. 

At a Glance 

The first section of Using Scripsit is 
an introduction aimed at the first-time 
user. In Chapters 1-7, Haga method- 
ically takes the reader through the fun- 
damentals of disk use, writing and for- 
matting the video screen, saving and 
retrieving Scripsit files, basic editing 
commands, and formatting and print- 
ing a document. 

The second part of the book deals 
with more complex applications for the 
experienced user. Chapters 8-15 include 
valuable information and explanations 
of Scripsit that you'll refer to time and 
time again. They cover block moves, 
search and replace routines, creative 
formatting, and chain loading. 

They also clarify the forbidding 
headers, footers, and page numbering 
system, as well as clearly explain the 
Hot Zone of Scripsit's hyphenation 
function, and how to save a half-ruined 
printout without reprinting the entire 
document. 

The best is yet to come: In the re- 
maining three chapters, Haga shows 
you how to merge VisiCalc with Scrip- 
sit, create personalized form letters, use 
Scripsit to write computer programs in 
Basic, and print documents in special 
formats. 

Continued on p. 61 



56 • 80 Micro, December 1983 



BASF QUALIMETRICFLEXYDISKS® 

BUILT FOR ETERNITY-WARRANTED FOR A LIFETIME 



BASF Qualimetric FlexyDisks' offer 
you more... an extraordinary new 
lifetime warranty* The BASF Quali- 
metric standard is a dramatic new 
international standard of quality in 
magnetic media. ..insurance that 
your most vital information will be 
secure for tomorrow when you enter 
it on BASF FlexyDisks today. 

We can offer this warranty with 
complete confidence because the 
Qualimetric standard reflects a con- 
tinuing BASF commitment to perfec- 
tion... a process which begins with 
materials selection and inspection, 
and continues through coating, pol- 
ishing, lubricating, testing, and 
100% error-free certification. Built 
into our FlexyDisk jacket is a unique 
two-piece liner. This BASF feature 
traps damaging debris away from 
the media surface, and creates extra 
space in the head access area, insur- 
ing optimum media-to-head align- 
ment. The result is a lifetime of 
outstanding performance. 

When your information must 
be secure for the future, look for 
the distinctive BASF package with 
the Qualimetric seal. Call 800-343- 
4600 for the name of your nearest 
supplier. 




Enter tomorrow on basf today 

•Contact BASf tor warranty detail* * ; w. bav Jysfenu Corporation, Bc-dfo,d. ma 



BASF 



*DISK DRIVES DISK DRIVES DISK DRIVES DISK DRIVES DISK DRIVES DISK DRIVES DISK DRIVES DISK DRIVES 



CO 

5 

in 

LU 
> 

CC 
Q 

X. 

CO 

Q 

CO 
LU 
> 

DZ 

a 

CO 

Q 

CO 
LU 

> 

rx 
Q 

*: 

CO 
Q 
CO 
LU 
> 
01 
Q 

CO 
Q 

CO 

LU 

> 

cc 

Q 

CO 

Q 

CO 
LU 
> 

CO 

Q 

5 

CO 

LU 
> 
01 

Q 

*: 

CO 

Q 

CO 
LU 
> 

CX 
O 

CO 

Q 

CO 
LU 
> 

CC 

o 
*: 

(O 

Q 

CO 
LU 
> 

CC 
Q 

* 

CO 

Q 



PRICE BREAKTHROUGH 



d 




Diskette "Give- A-Wav? ' ' Al 

/wdge /or yourself! x£> 

10 pack in Library Case — New Low Price 
SS/DD — with hub ring 



D 
CO 

o 

< 

m 

CO 

o 

CO 

o 

33 



o 

X 

< 

CO 

o 
m 

CO 
CO 

o 

X 

< 
g 

CO 

D 
x 

< 

S3 

9 

CO 

O 
X 

< 

m 

CO 

g 

CO 

:* 

o 
x 

< 
m 

CO 

g 

CO 

7: 
o 

X 

< 

m 

CO 

g 

CO 

o 

X 

< 

m 

CO 

g 

s3Aiaa xsia saAiua *sia s3Aiaa *sia S3Aiaa *sia S3Ai«a MSia sbaiho Msia S3Ai«a xsia S3Aiua xsia * 

58 • 80 Micro, December 1983 



Introducing the NEW Tabor 3Vi" Disk Drive 
Storage 737,280 Bytes — 2 in one Case $ Call 

SOFTWARE SUPPORT INC. presents Software 
I.dos 1 Improved — New efficient improvements for your Model l/III/IV LDOS* System 

With Our Program Enhancements You Will Now Be Able To Accomplish: 

1. Double the speed of disk operations 

2. Reliable fast clock boot (with enhanced hardware — such as the Holmes Sprinter ,N ') 

3. Improved dual sided and 80 track disk drive operations. 

Model I/III/IV Instapatch IM On Disk $29.95 

Esylst™ — Neatly and automatically print out any number of your basic programs. 

Page numbering, top of page, skip, no limit to the number of programs printed at one 

setting. Fast — Easv — Efficient. Use with Newdos\ Dosplus", Ldos* 

For Y our Model l/III/IV On Disk $19.95 

DRIVE A HARD BARGAIN'* 

We have rewritten the book on Hard Drives. Our hard drives are the fastest, the most versatile (Newdos A , 
Dosplus B , and Ldos ( drivers), the most adaptable, (runs on the Model I, Model III and Model IV using the 
same adapter), but, we must admit, it is the lowest (in cost that is) starting at for a 5 meg. (formatted) 

primary and $695.00 for a secondary system. All systems come complete with power supply, case, cables and 
Instapatch ,N ' software- drivers for fast-trouble-free installation and operation. Nothing else to buy! 

Self Test — A Idiomatic Diagnostics Error Correction — ECC Daisy Chain up to 40 Megabytes 

Warranty — ONE FULL YEAR. Call for details 

TOLL FREE ORDERING GENERAL AND TECHNICAL 

1-800-343-8841 1-617-872-9090 

SOFTWARE SUPPORT, INC. 

One Edgell Road, Framingham, MA 01701 (617) 872-9090 

Hours: Mon. thru Fri. 9:30 am 10 5:30 (fc.S.T.) Sa 10 am to 4:30 pm 



TERMS: 

M.C.'Visa Amcx and personal 
checks accepted at no extra charge. 
C.O.D., please add S3.00. 
Shipping: Please call for amount . 
Not responsible tor typographical errors. 



Canada 
MICRO R.G.S. INC. 

751. CARRE VICTORIA. SUITE 403 
MONTREAL. QUEBEC. CANADA. H2Y 2J3 

Regular Tel. (514) 845-1534 
Canadian Toll Free 800-361-5155 



Dealer inquiries invited. 

A ™ Apparat Inc. 
B ™ Microsystems Software Inc. 
C ™ Logical Systems Inc 
Copyright 1983 



*DISK DRIVES DISK DRIVES DISK DRIVES DISK DRIVES DISK DRIVES DISK DRIVES DISK DRIVES DISK DRIVES 



a 

LU 
> 

cc 



PRICE BREAKTHROUGH 



g 

< 
m 
a> 

O 

o 

3D 

< 
m 

o 

JS Tandon — Siemens — Remex — MPI — Teac — Shugart — Tabor * 

g 40 or 80 Tracks — Single or Dual Head — New 3 1 :" Drivette™ 1 

* Our Disk Drives Are Capable Of Single And Dual Density Operation C5 

The Newest Technology Major Brands Capable Of Operating On: 
S RADIO SHACK' — HEATH/ZENITH 1 — APPLEVFRANKLIN 4 



Super Sale on New Disk Drives 

| Starting at $169.00 

Tandon — Siemens — Remex — MPI — Teac — Shugart — Tabor 



c 



i IBM/PC-TEXAS INSTRUMENTS' & MOST OTHER COMPUTERS 

Q m 

* Drive a Hard Bargain!!™ — 5 M.B.-12 M.B. Hard Drive, Everything You Need 

o 



S Complete Systems from $999.95 

Diskette Breakthrough — 10 Pack in Library Case — $)fr95 



o 

Q Since We Are Always Finding Ways lo Save \ou Money, v°\v m 

j/5 Please Call For Our Most Current Pricing. ** £ 

S TOLL FREE ORDERING GENERAL AND TECHNICAL g 

I 1-800-343-8841 1-617-872-9090 S 

Q Model l/lll/IV Drives (0 12 3) starting at $169.00 < 

* Color Computer Drive (0 12 3) $ Call Toll Free c/> 

5 Apple/Franklin Compatible Add-On Drives with Case & Cables . . . P*. f $219.95 g 

Apple/Franklin Compatible Drives Complete with Controller . . . ^fijr. . \ $259.95 ^ 



S Model l/lll/IV Memory Upgrade ' ". . $ Call Toll Free 



Printers — Daisywheel/Dot Matrix $ Call Toll Free x 

Diskettes in Library Cases $J#9o' New low Price < 

* Cases and Power Supplies — (Single DuaM/2 Height) starting at $ 44.95 ™ 

£ Printer Buffers 8K to 512K starting at $143.95 o 

Q Percom Double Density Controller (Model I) $ Call Toll Free co 

uj Holmes Model l/lll Speed-up Mod-VID/80 starting at $90.00 * 

> Gold Fingered Edge Card Extenders starting at $13.00 § 

g Cables — Printer/Disk Drive starting at $23.00 < 

^ DOSPLUS $ Special Prices fjj 

| g 

a Warranty on Disk Drives - - 6 Months - - Extended Warranty $ Call Toll Free £ 

HI 

> 
s 

° One Edgell Road, Framingham, MA 01701 (617) 872-9090 ™ 

2 Hours: Mon. thru Fri. 9:30 am to 5:30 (E.S.T.) Sat. 10 am 10 4:30 pm ™ 

Dealer inquiries invited, Sg 

1 ™ TANDY CORPORATION O 

2 ™ ZENITH DATA SYSTEMS 

3 ™ APPLE COMPUTER CORP < 

4 ™ FRANKLIN COMPUTER. INC m 

5 ™ IBM CORPORATION (/> 

6 ™ TEXAS INSTRUMENTS 
Copyright 1983 



SOFTWARE SUPPORT, INC. 



^327 



TERMS: 

\1.C Visa \mc\ and personal 



q checks accepted at no extra charge. 

C.O.D., please add $3.00. 
(/) Shipping: Please call lor amount. 

q Not responsible for typographical errors. 



Canada 
MICRO R.G.S. INC. 

751. CARRE VICTORIA, SUITE 403 
MONTREAL. QUEBEC. CANADA. H?Y 2J3 

Regular Tel. (514) 845-1534 
Canadian Toll Free 800-361-5155 



p 



SBAiua xsia SBAiua xsia S3Aiaa xsia sbaiuo xsia sbaiho xsia s3Aiaa xsia saAiaa xsia sbaiuo xsia £' 

^seeustot A&miiscn on Page 29i 80 Micro, December 1983 • 59 



^sm 



FtfE'fessicnal %i iiii .1 : 
fur IIES/rWICS 3s 




A maintenance tool for "CMD M 
files. Allows you to append 2 
or more files, reorganize, and 
offset. Extract LIB members. $40 



Z-80 assembler/editor supporting 
nested macros, conditionals, and 
includes. PRO-CREATEs a powerful 
tool that is easy to use. $100 



S 



Transfer files directly to DOS 
6.0 from selected CP/M media. 
PRO-CURE supports Omikron, IBM, 
Kaypro, and Osborn formats. $50 



Disassemble directly from disk 

files or memory. The disk file 

source output generates 100% 

labels and handles data. $40 



UHLI 



A 4-function utility package 
that is loaded with power: 
D0C0NFI6; MEMOIR; PARMDIR; and 
SWAP. A must for JCL users. $40 



An on-line quick reference card 
at your fingertips. Screens for 
DOS and BASIC. Create your own 

custom HELP files, too. $25 



MJP 



This 



t) \ t <\ /M inis 1s the LC C-language 

'- — — /|!! ' compiler now compatible with DOS 
6.0. LC includes the PRO-CREATE 
macro-assembler package. $150 



A utility to build and maintain 
your own partitioned data sets. 
Collect many small files into 
one and save disk space. $40 



IfcZwi 



si 



A block-graphics screen editor 
which is used to create graphic 
images for BASIC, assembler 
programs, or printing. <cq 



U.S. Shipping: PRO-LC, $5; PRO-CREATE, $4; All 
others $2. COD add $1.50. VISA/MC/CHOICE. 

MISOSYS 

P.O. Box 4848 - Dept M 

Alexandria, Virginia 22303-0848 

703-960-2998 

LDOS is a trademark of Logical Systems, Inc. 
TRSDOS is a trademark of Tandy Corp. 



If you've been playing 

the l-know-l-have-it- 

but-l-can't-find-it 

Hidden Disk game, here's 

a Push Button Solution 




The ARRANGERn. It makes your computer do all 

the work in organizing and maintaining your disk 

program library It s the only system with an 

1 1 OOO program 255 program name per disk capacity 

The flow of operation is smooth and logical 

you're never left with a blank screen 

ARKANGERn marks your disks by recording 

a name on each disk directory track It stores 

recalls all oisk information using random access 

for highest speed, automatically recognizes 

35. 40. or 80 track Single Double sided S D 

density disks and all DOS for TRS80 models 

IV III I (d den) $49.95, free shipping 

Tnple-D Software 

Box 642 Layton Utah 84041 (801) 546-2833 
VISA MASTERCARD AMERICAN EXPRESS 




SCOTCH 
DISKETTES 

$20.95 I 

PER 10-PACK 

(5 Box Minimum 
Purchase) 

5*4' Single Sided. 
Smgle Density 



$19.95 

SCOTCH HEAD 
CLEANING KITS 

5%" & 8" KITS 

SCOTCH 
DISKETTES 

$22.50 

(t Bjx Purchase) 

5' 4 Single Sided. 

Single Density 

($49.95 VALUE) 



LIMITED TIME OFFER 
FREE CREDIT CARD CALCULATOR 

/ (With Purchase of any ^ — 10 Pack Boxes) 



• Hard Storage Boxes 



Pull Tabs & Labels 

/ 

Individual Envelopes! 



^•.Lowest Wholesale \ 
U Prices in the Industry 

_» Lifetime WarnnW on \ 
• Individual Envelopes^ "Workmanship of Diskettes 

Single-Day Processing on Most Orders 

.-BF ' L= ~^H- 

CALL ABOUT OUR FULI LINE OF WORD PROCESSING 

EQUIPMENT. INCLUDING MINI CASSETTES. 

COMPUTFR TAPE. DiSK D ACKS. STATIC MATS. ETC 

DISKETTE JUNCTION , " 5 

/5918 SMITH ROAD • CLEVELAND. OHIO 44142\ 

OHIO RESIDENTS (216)676 5640 TOLL FREE (800) 321 5134 

Visa • MasterCard • Checks • Money Orders • C 00 

/ fZNiPlus Handlmq)H_J \ 



60 • 80 Micro, December 1983 



REVIEWS 



Continued from p. 56 

He explains, step by step, how to 
send Scripsit files by phone across town 
or across the globe, and how to 
manipulate your operating system's 
password protection system to protect 
your Scripsit files from prying eyes. 

When I reached the end of Chapter 
18, I was convinced that William Haga 
had a sadistic streak in him. Why else 
would he continue to throw so much 
valuable information at me in his ap- 
pendixes? 

One appendix provides the symptom, 
cause, and solution to errors you fre- 
quently encounter. It covers everything 
from Scripsit error messages to printer 
difficulties, and from drive unit prob- 
lems to DOS troubles. 

Another appendix lists reference 
sources that include computer mag- 
azines, books and manuals, and inde- 
pendent sources of equipment and 
software. And yet another appendix 
functions as a glossary for Scripsit 
users! The author had done the impossi- 
ble: I actually learned some new tricks. 

What exactly did I learn? Well, did 
you know that Scripsit has a widow sup- 



pressor? That you can change the screen 
width to up to 132 characters? That 
with the Search command you can find 
several variations of a word for spelling 
errors? That Scripsit can hyphenate 
wrapped-around words with its hyphen- 
ation block? 

That you can create a paragraph pan- 
try to easily and quickly customize form 
letters? Or that you can chain files to- 
gether in order to print and number an 
entire document? I didn't until Using 
Scripsit told me. Now 80 Micro's 
technical editors ask me for advice on 
Scripsit. 

With the information in this 250-page 
book, I've found Scripsit to be much 
more powerful than I thought. Now I 
use it to finish office paperwork more 
quickly, write and edit chapters in my 
book, create and print form letters and 
memos, and write Basic computer pro- 
grams. 

For the skeptics out there, Using 
Scripsit does have its drawbacks, but 
they are trivial. For instance, 1 feel that 
the chapters concerned with screen edit- 



ing should have been introduced earlier 
in the book. 

This would let you go from booting 
up Scripsit, writing and formatting the 
video display, to screen editing, saving 
the file, and formatting and printing the 
document. Trivial, but it would make 
for a more useful chronological 
reference. 

The only legitimate complaint I have 
deals with the omission of an easy refer- 
ence sheet that lists in abbreviated form 
all the Scripsit commands and functions 
so you don't have to browse through the 
entire book for an obscure command. 

Such a sheet would save a lot of an- 
guish and time. Haga does, however, 
include an incomplete facsimile that 
lists only the screen format defaults. 
Useful, but not what 1 was looking for. 

Using Scripsit is comprehensive, well- 
written, and useful. Every Model I/III 
owner with Scripsit, whether a first-time 
user or an old dog, can benefit and learn 
from this book. 

It belongs next to your computer and 
its operating manual. Using Scripsit will 
soon become your most valuable guide, fl 



• •••• 

CP/M 2.2, MBasic 80 

on the Mapper I (48K)/ffl (64K) 

Omikron Systems 

1127 Hearst St. 

Berkeley, CA 94702 

Models I and HI, 48K 

One disk drive 

Model 1, $139 

Model m, $199 

by John B. Harrell Dl 

Omikron Systems distributes hard- 
ware and software for TRS-80 
computers that allow full implementa- 
tion of the CP/M operating system — 
not another attempt to work around the 
TRS-80 internal memory structure. I 
used the Mapper and its software almost 
daily for three months. The system per- 
formed flawlessly — no glitches, sur- 
prises, or snags. 

Because the hardware used in this 
modification is part of another review 
(see "CP/M III Ways," p. 122), I'll 
consider only the CP/M 2.2 operating 
system and the MBasic 80 interpreter 



distributed with the hardware modifica- 
tion as the starter system. 

CP/M Operating System 

CP/M isn't just another disk operat- 
ing system; it's the most widely distrib- 
uted operating system for the 8080 mi- 
croprocessor. CP/M derivatives now 
exist for the 8086 family and the 68000 
family of 16-bit computers. Radio 
Shack's introduction of the Model 4 
with CP/M reinforces the fact that 
CP/M has become the de facto industry 
standard in operating systems. 

The CP/M operating system is a 
monitor and control program for mi- 
crocomputer systems that use floppy or 
hard disks for back-up storage. It is es- 
timated to be in use in over half a mil- 
lion microcomputer systems through- 
out the world. 

The system distributed with the 
Omikron Mapper I/III modification is 
CP/M 2.2. CP/M is logically divided 
into four parts: the Basic input/output 
system (BIOS), the Basic disk operating 
system (BDOS), the console command 
processor (CCP), and the transient pro- 
gram area (TPA). 



These component parts provide fea- 
tures found in many other systems 
available for TRS-80s. For example, the 
BIOS provides system-dependent prim- 
itive operations necessary to access the 
disk drives and to interface with the 
standard system peripherals, BDOS is 
the disk management part of CP/M, 
and the CCP provides the interface be- 
tween the operator and the system. 

CP/M commands break down into 
three categories: built-in commands, 
transient commands, and user-imple- 
mented commands. See Table 1 for the 
commands in the first two groups (stan- 
dard on CP/M system disks. The latter 
group are those commands pro- 
grammed by the user in Assembly lan- 
guage and executed from the disk (sim- 
ilar to CMD files). 

In addition to the standard Digital 
Research software and documentation, 
Omikron provides many specialized 
features particular to the TRS-80 imple- 
mentation. This documentation is pro- 
vided in The Omikron Mapper Owner's 
Manual. This contains all the instruc- 
tions on the Mapper's installation and 
the documentation for the many special 

80 Micro, December 1983 • 61 



REVIEWS 



features required for TRS-80 systems. 

One example of the customization 
Omikron provides is a sophisticated 
keyboard driver that maximizes the 
capabilities of the CP/M software inter- 
faced with the TRS-80. Features include 
full keyboard debounce, a single-key 
control key, upper-/lowercase support 
with caps lock, and production of the 
full 128 characters in the ASCII set. 



Several of the keys have control func- 
tions for single-key ease. 

Omikron provides serial and parallel 
printer drivers to support all printer in- 
stallations. The default printer driver is 
parallel, supporting the majority of Ra- 
dio Shack hardware configurations. 
The routine Serial.COM (provided by 
Omikron) establishes the serial driver 
and initializes the RS-232 interface to 



REN 
Save 



Type 



User 



Bull-In Commands 

Command Description 

ERA Remove the specified file(s) from currently logged-in or 

specified disk. 
DIR List the names of all files in the specified directory on 
the console device. 

Rename the specified file to the designated name. 
Save the specified number of pages (256-byte blocks) to 
the file designated. Pages are taken from the Transient 
Program Area beginning at 100 hexadecimal (hex). 
Type (display) the contents of the specified ASCII file 
to the console device. 

Allow specification of different user numbers for 
maintenance of separate files in the same directory. 

Transient Commands 

Command Description 

ASM Load the CP/M assembler and assemble the specified 
program. The Assembly source code is assumed to be 
in Intel source mnemonics and the assembler produces 
8080 machine language in the Intel hex format. 
DDT Allow dynamic interactive testing of programs while 
operating within the CP/M environment (DDT in- 
cludes a limited disassembler). 
Dump Dump the contents of the specified file to the system 
console in hex form (displays the file's contents, repre- 
senting each byte with ASCII letters for the hex codes). 
ED Allow the creation and editing/correction of ASCII 
character files in the CP/M environment. 
Load Load the assembled program in the Intel hex format 
and convert it to an executable machine code file. 
MOVCPM Allow reconfiguration of the CP/M system for any 
memory size. 
PIP Allow movement of files from one form of storage to 
another. You can specify many powerful parameters to 
control file movement. 
STAT Provide status and general purpose access to pertinent 
system and disk parameters from the CP/M command 
level. 
Submit Allow the submission of CP/M commands in a batch 
manner. This is similar to the TRSDOS Do command. 
Parameter substitution is allowed within Submit files. 
The compiled Submit file is executed after Submit 
completes. You can chain Submit commands. 
SYSGEN Allow the generation of a system disk by properly in- 
itializing the CP/M operating system on the disk. 
XSUB Extend the power of Submit to allow input to user 
programs as well as to the Console Command Pro- 
cessor. 

Table I. CP/M Version 2.2 Commands. 



the default conditions established with 
the sense switches. 

The video driver emulates a Soroc 
IQ120 video terminal on the TRS-80. It 
provides full upperVlowercase support 
and maintains full graphics capabilities. 
Also, the video driver provides a routine 
that allows cursor addressing (position- 
ing the cursor to a specific location on 
the screen). 

Omikron provides two versions of 
SYSGEN and Format on the distribu- 
tion disk. The manufacturer specially 
tailors a version of each utility to the 
5'/4- and 8-inch disks normallv used 
with CP/M on the TRS-80s. 

OMCOPY.COM is a disk copy rou- 
tine provided by Omikron to allow 
more rapid back-ups. The standard 
routine, Peripheral Interchange Pro- 
gram (PIP), provides a method to copy 
all files from one disk to another. The 
operation is similar to the "back-up by 
class" LDOS uses or the "copy by file" 
NEWDOS80 uses. 

To circumvent the delay inherent in 
this method, OMCOPY provides a 
track-by-track back-up of one disk to 
another. Options allow copying only 
user files, only system information, or 
the entire disk. 

MEMTEST.COM and DSKTEST 
.COM evaluate your system's perfor- 
mance. The functions of each are ob- 
vious. 

Setup.COM lets you customize the 
Omikron software according to your 
personal preferences and as certain soft- 
ware applications require. You can 
store the options changed by Setup per- 
manently on the system disk. 

TRSCPM.COM provides a mecha- 
nism to transfer files from TRSDOS 
formatted single-density disks to CP/M 
formatted disks. Both systems use a 
soft-sector disk; however, both sector 
lengths and directory structure differ. 
This program moves data from the 
TRSDOS-format system to the CP/M 
system. 

This feature also allows moving Basic 
programs from one system to the other 
as long as you save the TRSDOS pro- 
gram to the disk in ASCII format. The 
program transfers the files sector by sec- 
tor, copying extraneous information in 
some cases (the bytes past the TRSDOS 
end-of-file location, for instance). 

In addition to the many utilities in- 
cluded on the system disk, you can see 
from Table 1 that the standard CP/M 
system disk includes a powerful context 



62 • 80 Micro, December 1983 



REVIEWS 



editor (ED), an Intel-compatible 8080 
assembler (including the ability to per- 
form conditional assembly), and a dy- 
namic system debugging monitor 
(DDT). 

Microsoft Bask 80 

CP/M does not come with a Basic in- 
terpreter. On many systems, you have 
to add this feature by purchasing an in- 
terpreter compatible with the operating 
system. Owners of TRS-80s have been 
spoiled by having a high-quality Basic 
interpreter available at the flick of a 
switch. 

The Omikron Mapper package comes 
with the industry-standard Microsoft 
interpreter in two versions for 8080/ 
8085/Z80 microprocessors and CP/M, 
MBasic.COM 5.2, and OBasic.COM 
4.51. OBasic is for those users who have 
software compatible with this inter- 
preter and who don't wish to change to 
MBasic. 

MBasic 5.2 is the most extensive and 
powerful Basic interpreter available for 
microprocessors. It meets the require- 
ments for the Basic ANSI standard and 
supports many features not normally 
found in other Basic interpreters, such as 
complex string manipulation routines. 

MBasic is similar in almost all re- 
spects to the Basic interpreter imple- 
mented on the Model 4. In many re- 
spects, this is the same Basic currently 
on the Models I and III. 

The most significant difference from 
Model I/III Basic is in variable naming 
conventions. MBasic allows variables 
names to be of any character string Get- 
ters, numbers, and decimal point) up to 
40 characters, whereas Model I/III Ba- 
sic recognizes variables names with a 
maximum of two characters; the re- 
mainder of the variables name is insig- 
nificant. 

In MBasic, you can't use reserved 
words as variables names but a vari- 
ables name can contain a reserved word 
within it. This generally leads to a pro- 
gram error of some type in Model I/III 
Basic. 

This feature causes most of the in- 
compatibility between MBasic and 
Model I/III Basic. In MBasic, you must 
surround each reserved word with spaces 
or delimit it in some other manner. The 
internal structure of the tokenized pro- 
grams is different. 

In order to transfer Basic code from 
the Model I/III to the CP/M system, 
you must first write or edit the program 



so the interpreter can clearly identify the 
reserved words (contrary to the pro- 
gramming hints that obtain maximal 
speed from these Basic programs) and 
you must store the programs on the 
TRSDOS disk in ASCII format. This 
requires a significant programming 
conversion for those programs written 
without spaces in the lines. 

"New" features of MBasic include 
the while/wend structure for program 
control, the ability to call a subroutine 
written in another language and pass 
arguments to it, chaining programs 
while preserving variables, erasing array 
variables under program control, re- 
numbering program lines, and swap- 
ping variables in a single statement. 
These features are new to those who 
have used Model I /III Basic exclusively. 

One significant feature implemented 
in MBasic is the Call subroutine. 
MBasic provides a linkage to external 
subroutines via a Call statement. 

This subroutine linkage allows prep- 
aration of segments of code using an 
assembler or other language translator 
and calls it from MBasic with a 
sophisticated argument list. The calling 
linkage is compatible with the Micro- 
soft compilers (Fortran, Cobol, and 
Basic), letting you compile complex 
routines for speed and use them directly 
from MBasic. 

Conclusion 

As anyone experienced with the 
CP/M system knows, its heart is the 
BIOS implementation of system- 
specific functions. Omikron has out- 
done itself with a superb BIOS module. 

When I ran some benchmark tests on 
the MBasic interpreter, I was astounded 
to find that this interpreter outperforms 
its relative in the Model I TRS-80 mode. 
Operating the interpreter in a Model I 
with no speed-up, I obtained execution 
times indicating a significant increase in 
speed for equivalent routines (MBasic 
compared to NEWDOS80 Disk Basic). 

When you consider that MBasic al- 
lows 40-character names and requires 
that reserved words have some type of 
delimiter around them, this is even 
more surprising. 

As with any product, the Mapper 
software has some negative aspects. The 
distribution medium is the standard 
5 Va -inch disk. The CP/M software is 
written on this disk in 35-track format 
with 18 sectors (128 bytes) per track. 

Due to the CP/M format, these disks 



y out our 

books for 
your 

TRS-80 



THE 

Rt 

OF 




all 

Krtorials Annotated 

a »*L • BASIC 

utilities ,,v-"™ 



#0* 




Call today! 

1-800-343-0728 
extension 191 

rns»ooi;.s 



80 Micro, December 1983 • 63 



From the people 
who brought you... 
Busines 



Businesspan+ 

R1HIMMI vvAHill»i«^K4UP 



Five NEW programs 

designed for the 
businessperson. 



Each on its own cassette 
with interesting manual. 




You have made BUSINESSPAK+ an over- 
whelming success! Now, we are introducing 
five new programs for the Model 100. 

PCSG continues to be first in innovative 
programming for the businessperson using 
the TRS-80 Model 100 Computer. 

Look at these five new programs. 

DATA+ $59.95 

With DATA+ the Model 100 becomes virtually a 
true data base. You can input data rapidly from 
a 16 field screen that you make yourself like our 
PUT+. Here is the difference: 
REVIEW / Using function key 1 you can recall 
any record, by searching any field. 
EDIT / Change or update any record you select, 
instantly on the screen. 

LIST / Using function key 5 you can print add- 
ress labels, list records or selected fields of records 
in columns or other configurations. You can 
even pause, and reset left margins. 
MERGE / Function key 6 lets you merge. You 
can automatically print any fields of any records 
into forms or letters, wherever you designate. 
With all four of these functions you have full 
search and selection capability. 

With LIST and MERGE DATA+ remembers 
your favorite formats, quickly defaulting to them 
by simply pressing the ENTER key. The added 
feature BUILD lets you build and print a file of 
unrelated records that could not be selected 
either alphabetically or numerically. 

On cassette with excellent, easy to understand 
manual. 



TYPE+ $59.95 

The Model 100 now becomes, with the addition 
of any printer, the finest, most feature rich, 
electronic typewriter available today. You can 
type directly to the paper. (Some printers have 
a one line buffer.) 

SCREEN BUFFER / To allow you to edit before 
printing, you can control the screen buffer from 
1 character to the last line. 
CENTER / Center on / canter off controlled 
with function keys. 

MARGINS / Set margins with function keys. 
Audible end of carriage, automatic carriage 
return and function key Tab Set. 
DIRECT CONTROL / If your printer responds to 
backspace commands, you can backspace and 
overstrike. Paper advances with carriage return. 
With TYPE + , everything you print is stored 
simultaneously in a RAM file, formatted as you 
composed it. You can reprint instantly, or edit 
it in the file. On cassette with excellent, easy 
to understand manual. 

TUTOR+ $29.95 

Learn keyboard skills by playing a delightfully 
exciting game. While experiencing the thrills of 
a space invaders type game you become profic- 
ient at manipulating the keyboard. A game that 
forces you to learn touch typing, utilizing all 
the keys. On cassette with excellent, easy to 
understand manual. 

PCSG provides hotline software support 
for the Model 100. Give us a call at 
1-214-351-0564. 



SORT2+ $29.95 

You can sort a file in place with SORT2+. It 
consumes only 1k free memory, while sorting file 
in RAM you entered with PUT+ or DATA + . Our 
original SORTt allows you to sort from cassette, 
but requires more memory while sorting. SORT2+ 
is for those times when memory or cassette sorting 
is a problem. SORT2+ also has upper case fold, 
and true numeric field sort. On cassette with 
excellent, easy to understand manual. 

TENKY+ $59.95 

With TENKY+ the numeric keypad on your Model 
100 emulates both a ten-key desk calculator, and a 
financial calculator. The right side of the screen 
represents the tape, which can also be directed to 
a file and/or a printer. Ten working registers are 
visible on the left of the screen, each one function- 
ing independently as a calculator with functions 
including exponentiation and logarithms. Registors 
are accessible from each other, including the tape 
which stores up to 1 20 values, each associated with 
a note of up to 26 characters. 

Financial functions available at the touch of a 
key include IRR, MIRR, and NPV on up to 120 
cash flows, plus any of its six annuity variables 
(n, PV, FV, PMT, i). Function key F2 gives a 
printed amortization schedule, and businessmen 
will love the breakeven analysis they can receive 
simply by pressing function key F1. 

Portable Computer Support Group is 
pleased to offer these program additions. 
We endeavor to continue as The Leaders in 
Software for the Model 100. 



TRS-80 Model 100 is a 

trademark of Tandy Corporation 

©1983 Portable Computer Support Group 

84 • 80 Micro, December 1983 



RDRTABLE GOMRJTER UFPORT GROUP 



11035 Harry Hines Blvd. No. 207, Dallas, TX 75229 ^ 170 



MASTERCARD / VISA / COD 



REVIEWS 



suffer a reduction of 10 percent capacity 
over the TRSDOS single-density for- 
mat. After creating a 40-track system 
disk, working user storage is 81K 
(82,944 bytes out of 92,160 bytes due to 
system overhead). Compare this to the 
102,400 bytes available on a 40-track, 
single-density TRSDOS disk. 

Because of the limited storage avail- 
able with the 5 14 -inch disk, Omikron 
has to delete some of the standard files 
resident on CP/M system disks in order 
to include their specialized programs. 
These deleted routines are available to 
you at a nominal fee of $25 from Omi- 
kron and include items such as the As- 
sembly source code to the BIOS and the 
Boot loader, MOVCPM.COM (relo- 
cates CP/M system BDOS and CCP for 
different memory configurations), and 
DEBLOCK.ASM (the source code for a 
CP/M disk deblocking algorithm). 

Unlike Level II Basic, the manual sup- 



plied with MBasic doesn't offer the 
beginner an easy understanding of the 
language. Since this is not the sole source 
of Basic for your computer, this should 
be no problem. 

Omikron now has a new software/ 
hardware package available that further 
increases the TRS-80*s power. At addi- 
tional cost, they will provide TUR- 
BODOS and a replacement PROM chip 
for their Mapper installations. 

Consider the wealth of software you 
obtain in addition to the hardware mod- 
ification. CP/M 2.2 generally retails for 
approximately $150 and you must in- 
stall the system (this usually means 
rewriting parts of the BIOS to add func- 
tions or change existing ones- 
no easy task for a beginner). MBasic 
usually retails for approximately $249. I 
cannot imagine where else you can get a 
bargain like this. ■ 




• •••• 



Businesspak + 

Portable Computer Support Group 

11035 Harry Hines Blvd. #207 

Dallas, TX 75229 

$89.95 

SORT2 + 

$29.95 

Model 100 

24K required 

32K recommended 

by Carl Oppedahl 

Businesspak + is a nice collection 
of six programs for the Model 100. 
It augments the existing ROM-based 
word processing, telecommunications, 



and Basic routines that come as stan- 
dard equipment with the Model 100. 

Businesspak + contains Write + , a 
word processing program; EXPNS + , a 
simple spreadsheet program; Put + , a 
text entry program; Sort + , a routine 
that sorts records entered through 
Put + ; Telex + , a package that lets you 
use Action Telex, a commercial telex 
service; and Graph + , a program that 
graphs data entered to EXPNS + on the 
Radio Shack DMP-100 printer. 

Each program runs in Basic and relies 
occasionally on a machine-language 
routine hidden in memory. In addition, 
each relies on a corresponding do-file 
containing various operating param- 
eters. You can change the do-file, often 
called a SPEC file in the documenta- 

Continued on p. 69 




SOFTWARE 

2 Tanglewood 
Lexington, Kentucky 40505 

MasterCard or Visa orders call collect 
606/293-6561 

^497 
•TRS-80 trademark o< Ti 




BO Micro. December 1983 • 86 








Stretch the Twelve Days of 



Give a gift subscription to 80 Micro today 
and relax . . . you can't find a better gift for ac- 
tive computerists. Every issue gathers to- 
gether the latest programs and projects for 
Radio Shack's personal computers, business 
computers, and portables. Your favorite com- 
puterist will be busy year round with: 

Powerful Utilities— save time and effort 
and do more computing than ever before. Re- 
cent issues have included ways to improve 
Electric Pencil*, a program-to-program data 
transfer, and a cassette operating system. 

Programming Techniques learn how to 
program and spend less on software. Pick up a 
second language for special applications. Get 
faster results with machine-language sub- 
routines. . the monthly column "The Next 
Step" shows how. 

Hi-res Graphics »ake better business 
presentations with fancy printouts. Illustrate 
games with eye-catching details. Create unique 
3-D art. It's all possible with articles on ad- 
vanced graphics techniques. 

Business Applications —increase office ef- 
ficiency. Learn the business models' different 
capabilities. And keep abreast of develop- 
ments for the Model 100* with reviews, appli- 
cations, and utilities in "ONotes." 



Exciting Games— enjoy arcade games, ad- 
venture games, and simulations. Use the pro- 
gram listings to add features to other games. 
Or record high scores in "The Gamer's Cafe." 

Two-way Communication— get definitive 
answers to technical questions in "Feedback 
Loop." Respond to articles, editorials, and 
news with "Input." Or submit an article for 
publication. 80 Micro is a forum for ideas, not 
a one-way street. 

"News" & "Remarks"— discover the latest 
industry trends and how they'll affect con- 
sumers. Learn about new services or novel ap- 
plications. And get the inside story with pub- 
lisher Wayne Green's outspoken editorials. 

Home and Hobby —break the ice at a party 
with a singing computer. Or make electronics 
projects easier with a circuit-board scanner. 
Whatever the subject, there's always some- 
thing of use in 80 Micro. 

Buyer's Guides— comparison-shop from 
home and save hundreds of dollars. Get all the 
facts on graphics software, printers, utilities, 
disk drives & disks, and more. 

Candid Reviews— use "Reviews" and "Re- 
view Digest" to find out a product's strengths 
and weaknesses before it leaves the store. 




micro 

• >.. ■ t. ■ tn, TDC-On- nana! vV 



tht magmn* for TflS 90" jit's 




Christmas into Twelve Months 



Know all about the latest releases with "New 
Products.'' Now every purchase can be a 
sound investment. 

Hardware Projects— get quality equip- 
ment and hours of fun in the shop. Build a 
Model II* capacitance meter. Diagnose acous- 
tic couplers. Or repair digital circuits. Custom- 
ize any system to meet specific needs. 

In-depth Series— become a local expert in 
any field. Learn computer cryptology. or how 
to use data files. Give the Model I/I II* color 
capability. Discover APL. Assembly. Lisp. . . 
and more. 

Give a gift subscription to 80 Micro today 
and relax. Why hassle with holiday crowds 
and pushy salesmen when you can avoid the 
last-minute rush? Christmas shopping has 
never been easier. 

Just fill out the coupon or the attached card 
and return it now to 80 Micro Subscription 
Department. P.O. Box 981. Farmingdale NY 
1 1737. A full-year subscription is only S35.97. 
That's a savings of 27% off the newsstand 
price . . . and convenient home delivery is 
FREE. 

Give 80 Micro. Your favorite computerist 
will thank you again and again and again. 



• Electric Pencil is a registered trademark of Michael Shrayer. 

• TRS-80. Model I OO. Model II. and Model I/Ill are registered 
trademarks of Radio Shack, a division of Tandy Corp. 



r 



Dear Santa. I want to give a vear's subscription to 
80 MICRO for the Holidays (12 issues for $24.97). 



□ Check enclosed 
DMC C VISA 

CARD* 



AE 



□ BILL ME 



Expire Date 
Signature _ 
My Name _ 
Address 



City 



State 



Zip 



Please enter a one year gill subscription to: 
Name 



Address 



City 



State 



Zip 



Canada & Mexico $27.97. 1 year only U.S. funds drawn on U.S. bank 
Foreign Surface $44.97. 1 year only U S. funds drawn on U.S. bank. 
Foreign airmail please inquire. 
All gift subscriptions begin with January 1984 issue 

•This offer expires January 31. 1984 



micro 



PO Box 981 
Farmingdale, NY 11737 



63DRa 



"* 




EPSON 



FX, RX & MX 




The FX-80 features 1 60 cps. a 
correspondence font. 10. 12 4 17 
cpi. italics, double-stnke/width/ 
emphasis, etc . dot graphics, friction/ 
pin feed (the adjustable tractor is 
optional) & a 2K buffer. The 256 
programmable characters use the 
2K buffer space The FX-100 is the 
136 column version & includes an 
adjustable tractor. 

The RX Sorios replaces the MX. & 
offers 1 00 cps print speeds, but 
nothing more remarkable. 
RX-80 f 309.88 

MX-80 F.'I $409.88 

MX-100 1864.88 

FX-80 $884.88 

FX-80 Tractor $88.88 

FX-100 8788.88 

C. ITOH 

Prowriter 




C. Itoh's venerable Prowritnr has 
speed (120 cps). a buffer (1 5i<). 10. 
1 2. & 16 cpi (plus a proportional font 
with correspondence quality) and 
dot graphics (160x1 44 dpi). The 
Prowriter 2 is the 1 36 column 
version 

Prowriter $399.88 

Prowriter 2 8719.88 

STAR MICRONICS 

Gemini 10X/15 
Delta 10/15 




The Qemini 10X features 1 20 cps. 
1 0. 1 2, 17 cpi, italics, a corres- 
pondence font, dot graphics & a 1 K 
buffer Friction/tractor feed. Use 
plain spool ribbons. The Qemini 18 
is the 132 column version. The 



Smith-Corona 
Memory Correct III Messenger 

Here s the printer you ve been 
waiting for The Smith-Corona 
Memory Correct m Messenger 

is ideal for the home or small 
office. It combines the features of 
an electric typewriter mnd a letter- 
quality printer And it's designed to 
handle both jobs with ease 

Features 1 2 cps. 3 pitches ( 1 0. 
12 4 15). variable line spacing, 
10.5" writing line, backspacing & 
auto-correction Comes complete 
with parallel/serial interface. 

Memory Correct III Messenger $629.88 

TP-1/TP-2 $CALL 




Dolta 10 has all the features above 
plus parallel & serial interfaces. 160 
cps print speed, an 8K buffer. The 
Dolta 18 is the 136 column version 

Gemini 10X $309.88 

3emini '5 $489.88 

Delta 10 $829.88 

Delta 15 8CALL 

OKIOATA 

Microline Series 




Tho Microlino 92 i80 col) & 93 

(1 32 col) are ideal for word pro- 
cessing They offer a 1 60 cps draft 
mode, a 40 cps correspondance 
mode. 10, 1 2 & 1 7 cpi (w.'double- 
width), pin/friction feed itractor is 
optional on the 92) & dot-address- 
able graphics (120 x 1444) Cen- 
tronics parallel interface is standard 

The Microlino 84 1 1 32 col) la the 
Step 2 version, featuring 200 cps at 
1 0. 1 2. & 1 7 cpi (w/double-width), all 
with a correspondance mode & dot 
addressable graphics Parallel 
interlace are standard issue 

The Microlino 82A is a data 
cruncher, with 1 20 cps, 10 4 17 cpi. 
double-width, friction/pin feed on 80 
columns The Microlino 83A is the 
136 column version Dot-address- 
able graphics are optional 
Microline 82A . $389.88 

82A/92 Tractor $89.88 

Microline 83A $899.88 

Okigraph I Dot Graphics 

ROM (82A/83A) . $49.88 

Microline 92 . . $489.88 

Microline 93 $789.88 

Microline 84 $1024.88 




MANNESMANN TALLY 

MT-160 L 




The MT-1 80 L 1 1 60 cps) has 8 
fonts, parallel 4 serial interfaces, 
friction/tractor feed. 4 menu-driven 
installation from the control panel. 
The print quality is superior The MT- 
1 80 L is the 1 36 column version 

A new. low cost draft printer, the 
Sprite (80 cps). is also available 

MT-160 L $879.88 

MT-1 80 L $849.88 

MT-Sprite $329.88 

We sell other dot matrix printers, 
including the Anadex WP-80O0, 
IDS'm Prism 80, Priam 132 A 
MicroPriam. 4 the Inforunnor 
R.t.man Call (803) 881-9888 for 
technical details For prices, or to 
order, call (800) 343-0728 

Letter-Quality Printers 

C ITOH 

Starwriter 




The C Itoh Starwritor offers top 
speed (40 cps) at a good price 
Starwritors use Diablo code, 
wheels 4 ribbons. 1/48" line space. 
1/1 20" horizontal spacing— ideal for 
proportional modes (For high speed 
output, there's the Printmaator. at 
55 cps Same specs as above ) 

Staiwnter Parallel $1219.88 

Printmaster Parallel $1879.88 



SILVER REED 

EXP-550 




The Silver Reed IXP-SBO is a 1 6 
cps. 132 column letter-quality 
printer with frue Diablo 1610/1 620 
emulation (sub/super scripts 4 
underlmingi. making it compatible 
with most word processing software 
It's ideal for medium duty office 
work For light duty, there's the 
■ XP-800 at 1 2 cps ( 1 00 col). 

EXP-550 (Parallel) $71 9.88 

EXP-500 (Parallel) $489.88 

We sell a variety of letter-quality 
printers including the Comros 
ComRitor Diablo 820 A 030. the 
NEC 2030, 3830 A 7730. the 
Qumo Sprint 1 1 +. 

STANDARD MICROSYSTEMS 

Microterm 

Microtorm supports auto-dial. 
answer modems like the Hayes 
Smartmodem. Features pre-pro- 
grammed dial 4 transmit, direct file 
transfer, 34K capture buffer and a 
certified 2400 baud operation rate. 
Specify Model I or Model III when 
ordering 
Microterm $79.88 

DC Hayes Smartmodems 
(300 baud) $219.88 

(1200 baud) $839.88 

Novation Modems 

J-Cat (300 baud) 81 39.88 

SmartCat (300 baudl ... $199.88 
SmartCat(l200baudi $499.88 



information/Orders: 

(603)881-9855 

Ordora Only: (800) 343-0726 



No Hidden Charges: 

We pay UPS ground shipping on 
all our orders and we never charge 
extra for credit cards We accept 
CODs 4 add a Si fee per order We 
have a $50 minimum order Personal 
checks are cleared in 3 weeks 

All our equipment is shipped 
factory* resh. with full warranties. 
We're authorized for warranty work 
on a number of printers, 4 we also 
offer extended warranty plans for 
those printers 

Sorry, we cannot accept open POs 
or extend credit/terms at these 
prices. APO and foreign orders are 
not accepted. 

We prepared this ad in September 
4 prices do change, so call to verify 
them. 

Our Computer Showroom is 
now open in Amherst, NH. 



HIGH TECHNOLOGY AT AFFORDABLE PRICES a^paj 

THE BOTTOM LINEB 

IMILFORD, NH 03055-0423 □ TELEPHONE (603) 881-98551 




68 • 80 Micro, December 1983 



REVIEWS 



tion, to modify the behavior of the 
Basic program. 

Write + is a delightful program that 
lets you print out files created through 
Text. You can arrange to skip perfora- 
tions, pause between pages for printing 
on single sheets, and print multiple cop- 
ies, double- or triple-spaced output, and 
page headers and footers with the time 
and date. 

The two types of word processors in 
the world are those that display on the 
screen exactly what will appear on the 
printed page, and those that display raw 
text on the screen and format the text 
for printing after you complete all your 
editing. Write + is the latter type. 

For instance, text that is double- 
spaced on paper appears single-spaced 
on the screen. Given that the Model 100 
screen is much smaller than most CRTs, 
that is the best choice. 

The Model 100 input and output rou- 
tines are largely device-independent. 
Any of several devices with appropriate 
file names can be the object of Open 
and Close statements. These include 
RAM, LCD, CAS, MDM, LPT, and 
COM. 

Write + takes advantage of this. You 
can take the output that would usually 
go to the printer and route it to RAM 
for later editing or to COM for printing 
on a serial printer. Similarly, though 
you usually use Write + to print files 
put in RAM by means of Text, it can take 
its input from any other device, such as 
a file on cassette. 

Write -i- is easy to use. You can easily 
print out text files created long ago with 
Text, skipping perforations, within 20 
minutes of opening the Businesspak + 
package. 

Write + uses simulated form feeds. 
When the time comes to skip forward to 
the top of the next page, the program 
uses individual line feed commands 
with an ASCII value of 10. Many print- 
ers, however, are capable of responding 
to a form feed character with an ASCII 
value of 12. 

This accomplishes motion to the top 
of the next page much more quickly and 
quietly than a series of line feeds. It 
would have been nice if W + SPEC let 
the user select simulated or actual form 
feeds. 

I have, however, determined a way to 
modify Write + so that form feeds ac- 
complish the perforation skip and blank 
page skips. The new lines appear in Pro- 
gram Listing 1 . 



EXPNS+ is an aid to travelers who 
must keep an expense record. Though 
it's described as a spreadsheet program, 
it is quite limited in capability. The pro- 
gram sets up an array of numbers, 
drawing up totals for up to 18 rows and 
12 columns. 

It does not let the user define relation- 
ships between and among different lo- 
cations in the array, but merely adds up 
each row and column. Thus EX PNS + 
is far less versatile than programs like 
VisiCalc. 



"EXPNS+ is an aid 

to travelers 

who must keep 

an expense record. " 



You can store the numerical values in 
the array in RAM, then transfer them to 
and from other devices, such as a cas- 
sette. You can use the RAM file as input 
for the Graph + program or merge it in- 
to a word processing file using Text. 

Put + is a simple data entry program. 
Given a user-defined P + SPEC file, the 
program accepts user keyboard entries 
and assembles uniform-length ASCII 
records composed of fields of user-de- 
termined fixed lengths. The program 
defines the fields within records in a 
SPEC file that the user creates. When 
you run the Put + program again later, 
the program adds new records to the 
end of the existing file. 

During keyboard entry of data, you 
go from one field to the next by means 
of the down-arrow key, and store the 
record by pushing the enter key. I found 
that to be awkward, and often pressed 
the enter key at the end of a line when the 
software expects the down-arrow key. 

Also, when filling in, for example, a 
three-character field with a three-digit 
entry, I often found that Put + jumped 
ahead to the next record when it should 
have simply accepted text for the next 
field in the same record. PCSG has 
since corrected both of these awkward 
situations in Put + . 

Given the SPEC file and assuming 
you have fewer than 256 records, the 
Sort+ program then sorts the records 
as discussed below. You can also easily 
search the records using SCHEDL and 
ADDRSS (or even Text). 



he Phone Line 

Hwv. 11 South Trenton. GA 

1-404-657-6948 _ — 



UOW 



prices 



RADIO SHACK: 

(All equip is 100% pure RS) 

Model 100, 8k ram $ 650 

Model 100. 24k ram $850 

Model 12. 2-dnve $3250 

Model 4. 64k. 2-dnve $1650 

5 meg hard drive $1658 

DMP-2100 printer . $1599 

DMP-200 pr.nter $ 599 

All Radio Shack Software 10% Off 

Call for other 
LOW, LOW RS prices not listed. 
Miscellaneous 
All Eagles list come with "Spellbinder". 

"Ultracalc". CP/M & CBasic 
Eagle HE 2-dnve w/390k per drive $1995 
Eagle HIE. 2-onve w/780k per drive $2999 
Eagle IVE. 780k floppy. 10 meg hard $3999 
Complete line of Eagle - Call for others - 

Daisy Writer w/48k buffer & cable $1295 
ProWriter 8510 printer $ 399 

ProWriter 1550 printer $ 675 

Okidata ML-92P printer $ 525 

OKidata ML-80P printer $ 350 

Okidata ML-82PS printer $ 450 

Box 10 Verbatim 5V4" diskettes 

(SS.DD) $ 29 

Box 10 Verbatim 8" diskettes 

(SS.D0) $ 49 

QUANTITY PRICING AVAILABLE 
ON DISKETTES . . . CALL! 
5V flip file, holds 50 $ 25 

8' flip Lie. holds 50 S 35 

5V4" flip-pak. holds 10 $ 5 

8" flip-paK. holds 10 $ 6 

D'Sk drive head cleaner kit 

(VerDatim) $ 5 

9V:" x 11" paper. 1250 shts. 

disaperf $ 19 

14%" x 11" green bar, 1500 shts$ 33 

ProWriter Ribbons $ 6 

J-Cat Direct Connect Modem . $ 115 

Complete line of accessories — 

CALL, CALL, CALL 

(Prices subject to change.) 

|We accepi American E«piess VISA. MasieiCaro (Aoo 3%! 



THIS MONTH'S SPECIAL ! 

9V 2 x11 paper, 1250 sheets, 
disaperf $19 



he Phone Line 

Hwv 11 South Trenton. GA 
1-404-657-6948 „w 



80 Micro, December 1983 • 69 



REVIEWS 



However, when you display the file 
on the screen or print it on the printer, it 
tends to look irregular. This occurs 
because the program runs adjacent 
fields together without spaces to sepa- 
rate them, and because both the screen 
display and print routines wraparound 
entire words at the end of the line rather 
than cut them off. According to PCSG, 
a new program called Data + ($59.95) is 
available that allows variable-format 
displays and listings. 

The Sort + program allows sorting of 
up to 255 uniform-length ASCII rec- 
ords according to any selected constant- 
length field in the records. It's easiest to 
use Sort + with records created through 
Put + , but you can use Sort + on other 
files too, as long as the records and 
fields within records are of uniform 
length. Simply create a Put + specifica- 
tion file to match the fields in the file 
you want sorted. 

Also, when Sort + reads in the file it 
will sort, it puts any lines of nonstan- 
dard length at the beginning of the out- 
put file. This is handy for two reasons: 
You can leave explanatory material, 
such as a heading or verbal summary, at 
the beginning of the file and it isn't dis- 
rupted by the sorting process. 





Program 


K to load 


Free K to run 


Write + 


4.4 


2 


EXPNS + 


7.0 


5 


Put + 


2.8 


1 


Sort + 


2.6 


4 + 


Telex + 


3.9 


1 


Graph + 


6.0 


7 


Table 1. Program sizes. 



If you mistakenly include a line of in- 
consistent length in the file, it appears at 
the beginning as well. This brings the line 
to your attention so you can correct it. 

The sort is a simple sort in ASCII 
order. The documentation claims that 
you can sort 255 records in 15 to 20 
seconds. One file I sorted actually re- 
quired just over two minutes. I attrib- 
ute this to the fact that Sort+ swaps 
entire records whenever a comparison 
so indicates. 

This isn't really a drawback, but a 
consequence of the Model 100's limited 
memory. On a larger machine, it would 
be possible to sort more efficiently by 
extracting and sorting key fields, and by 
swapping the entire records only when 
the key fields are in order. 

PCSG has also released another pro- 
gram, Sort2 + , that does a few things 
Sort + cannot. For example, it sorts 
true numeric data so that 6 comes out 
above 10 in order. 

Or you can set Sort2 + to sort with 
the uppercase flag bit suppressed: The 
result is that the program treats upper- 
and lowercase letters equally in the sort- 
ing process. Finally, it performs the sort 
directly on the RAM file, rather than by 
reading the file into the Basic program 
area. Sort2 + needs less free RAM than 
Sort + . 

Telex + helps you send telexes, mail- 
grams, and the like from text files 
you've previously typed in and saved. 
To use Telex + , you must open an ac- 
count with Action Telex, a company 
based in Dallas that accepts messages 
through a modem over phone lines and 
sends them out via the Western Union 
telex network. 

This requires payment of a $150 an- 
nual registration fee and a moderate us- 



For Version 1.3: 

1400 IF FF^oOO THEN PRTNT#2,MIDS(LFS,1.2*(BM^» + LCVo));: HF"7o = 2:GOSUB 1550 

1405 PRTNT#2,CHR$(12);:IF BL«7o - PP<7o>0 AND PG«7o<PE°7© THEN 1490 

1410 IF CN°7o<NC«7o THEN CLOSE:BL°7o = 160:PP% - 0:GOSUB 1450:GOTO 130 ELSE 

PRINT«,CHR$(12); 



For Version 2.1: 

32 IFFF<>0THENPRINT#2,LEFT$ (LF$,2*(BM + LQ);:HF = 2:GOSUB43 

33 PRINT«,CHR$(12);:IFBL - PP>OANDPG<PETHEN39 

34 IFCN<NCTHENCLOSE:BL= 160 :PP = 0:GOSUB37:GOTO6 
ELSEIFFDTHENPRINT#2,CHR$(12); 

Program Listing 1. Formfeed modifications for Write + . 



age charge. The advertisements I've 
seen for Businesspak + don't make this 
point very clear. The Businesspak + 
documentation describes a free trial ar- 
rangement whereby you can send three 
free telexes or mailgrams. 

I tried this by calling the phone num- 
ber in the manual and supplying the re- 
quested information. I was told that 
Action Telex would contact me with an 
identification code for the free trial. 
Three weeks and three more phone calls 
passed before I finally got a code. 

When I tried it out, the program in- 
dicated that Action Telex had accepted 
my mailgram and two telexes for deliv- 
ery, but none of them reached their des- 
tination. When the local office finally 
called with another code, I had better 
luck. The mailgram got through all 
right, but the telex was delayed eight 
hours. 

Though the documentation said 
nothing on the matter, I found I had to 
precede the destination telex number 
with a zero. After that I had no trouble 
with Action Telex. 

I also had some problems with the 
Telex + program itself. The Model 100 
has a built-in modem with provisions 
for acoustic coupling and direct-con- 
nect autodial operation. However, one 
constant feature of the program is that 
it tries to dial the phone number for ac- 
cess to the Action Telex computer 
whenever you run it. 

If you are using the acoustic coupler, 
this doesn't hurt anything, just wastes 
time. But if you are trying to dial the ac- 
cess number manually for MCI access 
or to get through a Touch-Tone-orily 
switchboard, the dialing routine frus- 
trates your efforts by hanging up the 
phone for a second before listening for 
the carrier tone. 

It would be helpful if PCSG modified 
Telex + to allow the equivalent of the 
Term key in TELCOM, and thus by- 
passed the autodialing routine. One 
remedy is to use a duplex jack instead of 
the silver phone cord. Plug in both the 
phone and beige cable. Do not hang up 
the phone until the Model 100 detects 
the carrier. 

Graph + lets you prepare graphs based 
on numerical and text information 
typed in using the EXPNS + program. 
The graphs can be pie, bar, and line 
charts. 

Since Graph + takes its input only 
from EXPNS + , and since EXPNS + 



70 • 80 Micro, December 1983 



SUPREME RULER 

Have you conquered the World lately? Was It a 
Challenge? If the answer to either of these questions 
Is NO, you obviously don't have SUPREME RULER; You 
haven't led your own country, managing your economy 
and controlling the destinies of millions of people; you 
haven't had the chance to overcome opponents 
(Human and/or Computer) bent on achieving the same 
goals. 

In SUPREME RULER you must protect your economy (or else 
risk a recession), support and feed your people, encourage 
new business, manage government revenues, and control 
your army. These and many other factors are interdependent, 
making this a very challenging game/simulation. 
Supports up to 9 countries (4 with 16K), either human or com- 
puter controlled. The computer plays by all the rules, and makes a worthy opponent in single-player games. 





16K and 32K versions together on Cassette, with 40 Page Manual. PRICE: $18.50 

32K version (with SAVE GAME feature) on Disk with 40 Page Manual. PRICE: $20.50 



1 Model l/llll 



For those off you with 48K: 

SUPREME RULER PLUS! 



The extra memory is filled with many new features, 
expanded reports, more intelligent computer opponents 
with selectable "skill levels", and MUCH MORE! 
Comes with a 50 page manual and a start-up booklet. 



OUR "TRIPLE PROTECTION" 
GUARANTEE 

In today's software world >l is nard 10 tell • good program I'oi" a bad one by only a magazine 
ad. that's why JMG has a warranty plan thai will guarantee your satisfaction Here fs oui 
"Triple Protection'' guarantee 

1) QUALITY GUARANTEE: II you are unsatisfied with the software product you have pur 
chased, you may return n (in good condition) within 14 day* for a refund, lest a $2 handl 
ing charge (We also ask lhal you send us a brief letter stating the reason for your return.) 

2) UPOATES GUARANTEE: We always listen to our customers, and we often improve and 
•apand our software products on the basis of their comments. If we make an improvement 
to a product and release a new version, all our previous purchasers will be notified and| 
oflered the update To receive an update you only have to return your original disk pi 
11 tor shipping costs 

3) MEDIA GUARANTEE: The diskette o* cassette has a Lifetime Guarantee If yours lurn 
out to be defective, or it fails and you do not nave any backups made, then just return th 
disk/cassette and we'll replace it 



Provided on either Disk or Cassette. 



PRICE: 



$26.50 



TO ORDER: Mail or Phone your order, 



OB 

Go and see your nearest dealer II he doesn't carry 
JMG programs, shout at him a bit. 



j%r,. 








THE FINE PRINT: 

We accept VISA and MasterCard 

An prices in U S Funds 

Please allow 1 or 2 weeks lor PERSONAL CHECKS to dear 

SHIPPING CHARGES are 12 00 in North America. 15 00 

overseas 



P.O. BOX 598 
FALLS STATION, 
NIAGARA FALLS, N.Y. 
U.S.A. 14303 

OR 

710 UPPER JAMES ST. 
HAMILTON, ONTARIO 
CANADA L9C 2Z8 
(416) 389-6086 




EXTERMINATE! 



The World is counting on you to annihilate a horde of alien bugs 
that are trying to escape from an underground cavern. Your on- 
ly weapons are your skill, strategy, and an armed "Rover". This 
100% Machine Language program has quality graphics and 
sound, and surprises to keep you busy at every new skill level. 




EXTERMINATE on Cassette. 
Model l/lll Diskette, 



PRICE: 
PRICE: 



$15.50 
$17.50 



A 



Hw 



* Order now and you will receive a free "Bug Hopper" Jumping Disci * 




Sew Ust of Advertisers on Page 297 



90 Micro, December 1983 • 71 



REVIEWS 



handles only up to 18 columns, that's 
the largest number of points you can 
graph. Thus any line graph is, of neces- 
sity, quite bumpy. 

The Businesspak + software comes 
on cassette, all of which you can back 
up. 1 found the cassettes themselves to 
be of high quality and well recorded; I 
had no load errors after dozens of loads. 
You must load each program from cas- 
sette before use, which takes as long as 
four minutes. 

Documentation and Support 

The documentation, totaling some 
108 pages, is written under the assump- 
tion that the user is already familiar 
with the connections to the Model 100, 
has mastered the built-in program Text, 
and has at least passing familiarity with 
the other built-in software. 

The documentation has no general in- 
dex, but you don't need one since index 
tabs for each program allow easy ref- 
erence to explanatory material. In addi- 
tion, Write + , perhaps the most complex 
program, has its own index in the most 
recently received documentation. 

The PCSG telephone number ap- 
pears prominently on the manuals and 
instructions. I called several times at 
various times of the day and night, and 
always reached cheerful people. 
Though I had difficulty getting signed 
up with Action Telex, the frustration 
was outweighed by the many other 
times that my questions were answered 
immediately and correctly. 

Each time I called, PCSG asked for 
the serial number of my software pack- 
age. I consider this a perfectly reason- 
able request as it helps protect against 



software pirates, but the drawback was 
that I was immediately identified as a 
reviewer. Nonetheless, I sense that all 
purchasers can expect good customer 
support. 

User-Friendliness 

The programs are well error-trapped, 
although occasionally I tripped them up 
with unusual inputs. For example, each 
program depends on one or more SPEC 
files containing file formats, field 
names, and so on. If the SPEC file is 
not set up properly, the program using 
it can go astray. I had particular prob- 



usinesspak + provides 

a good package 

of routines for 

the Model 100 owner. 

They are easy 

to learn and use. " 



lems coming up with a P + SPEC file 
suitable for use with Put + . 

One problem anyone faces who 
writes text-handling programs for the 
Model 100 is that RAM files can have 
arbitrarily long records. A Line Input or 
Input that goes to a string variable can 
cause an OS (out of string space) error 
that's hard to protect against. 

To alleviate this problem, Microsoft 
provided the INPUTS function, which 
gets a specified number of characters 
from an input device regardless of line 



CZZ) 



xSOFTSPOOLxp^ 



SOFTWARE PRINT SPOOLER 

B MODEL I, DISK BASIC 32/48K 

B SPOOLS LPRINT. LLIST, JKL ETC. 
H SET BUFFER SIZE FROM BASIC 

H MODEL III VERSION COMING SOON 

H SUPPLIED ON DATA DISK $34.95 

OHIO RESIDENTS PLEASE ADD SALES TAX "^ 
ELCSOFT PO BOX 302 BRUNSWICK. OH. 44212 (218) 273-1070 



72 • 80 Micro, December 1983 



terminators. Even that function gener- 
ates errors; for example, if three 
characters are requested, and if only 
two characters are left in the device 
you'll get an end-of-file error. 

The writers of Businesspak + use a 
machine-code routine of about 166 
bytes called from Basic. This routine 
goes to the input device and gets the 
next printable line of characters up to 
the next carriage return or space. 

One drawback of the machine-code 
routine is that if no space occurs within 
the next 160 characters, the routine only 
returns a single character. I discovered 
this when I attempted to list a Basic pro- 
gram with all the spaces removed. Some 
of the long lines in the file printed out in 
a column, one character at a time. I had 
to go back to the Basic program and in- 
sert spaces to make listing through 
Write + possible. 

The programs are written in Basic 
rather than machine code. The advan- 
tage of Basic is that the user can easily 
modify the code, perhaps to customize 
it for a different printer or add a fea- 
ture. The disadvantage is that machine 
code can be faster and more compact. 
For most of the programs, such as 
Write + and Put + , the execution, 
printing, and keyboard delays are not 
even perceptible. 

Even if you have the maximum RAM 
available to the Model 100, 32K, you 
don't have enough room to leave all the 
Businesspak + programs in RAM all the 
time. The instruction book suggests that 
you purge the programs when you are 
done and reload them later from tape. 
Personally, 1 find Write + so handy 
that I have left it in RAM continuously 
since first loading it. 

The advertising and the manual I ini- 
tially received are silent on the required 
RAM. Most of the routines fit in less 
than 4K, leaving a little work space for 
an 8K user (see Table 1). No serious user 
should consider less than 24K, and I 
recommend getting a full 32K. 

Businesspak + provides a good pack- 
age of routines for the Model 100 
owner. They are easy to learn and use. 
The graphing program works only on 
the Radio Shack DMP-100, and the tel- 
ex program involves a further expendi- 
ture of $150 per year. But the word pro- 
cessing, sorting, text entry, and simple 
spreadsheet programs are general in 
their scope and utility. I recommend 
them. ■ 



.. &/ 



as 



yAarfefr 



Introducing 



■ -lJH, 



MODEL 6DO 



Letter Quality, Daisy Wheel Printer/ Driver Software Specifically 
Developed For Use With The TRS-80™ And SuperSCRIPSIT™ !!! 






t^ 



699 





^^^ 








| I SLH R *- 


.K> <> 


1 

oil II LOOK! BUM 1 




■ PRIST 




» PRIM 


\z> </. 


rw» m«ai>o» ii •an HUI 1 




l/I UM i 


• UU <•> 


1 


00 


1/1 ustn.tr n 


« LE^R> <-> 


l_*OWj . MjVJ^ N 1 






1 MMl 1 I 




1 FORM 


U.IIMO <>> 





Now you can enhance your TRS-80" Model m word processing 
system with the JUKI 6100 letter quality printer and driver soft- 
ware package. 

Totally compatible with the TRS™ Model HI when used with the 
SuperSCRIPSIT™ word processor, the Model 6100 is a sophisti- 
cated printer with all the advanced features of a higher priced 
unit. And the JUKI Model 6100 printer driver software package 
can be added to the TRS 80™ Model 4 system as well. 



Utilizing a 100 character daisy wheel drop-in system, the Model 
61 00 prints bi-directionally at 1 8 cps, has 1 0/1 2/1 5 pitch, propor- 
tional spacing, and a 2k buffer memory expandable to 8k. 
Operating on a linear induction motor for accurate positioning, 
the logic seeking Model 6100 performs superscript, subscript, 
bold/shadow printing, double strike, underlining and has 
graphic capabilities. 

Also, the Juki printer is lightweight and conventional in design, 
has low noise level, is easy to maintain, and features a self- 
testing function. And the printer driver software is available on 
diskette for either parallel or serial interface. 



But the dream is not o ve r... with a low price tag of '699.00 and driver 
software diskette for less than *25.00 you'll have top quality per- 
i ^521 formance for a remarkably affordable price. 

JUKI INDUSTRIES OF AMERICA, INC. contact your juki distributor for the dealer location most convenknt for you 



ACORN DATA PRODUCTS 

7304-1 South Alton Way 

Englewood CO Mil 2 

30 V 7 7 9-66 U 

Srrurf 

MT.WY CO.UT NM 

SOUTHERN MICRO 
DISTRIBUTORS 
1701 Royal Luc 
kvni. IX 75013 
214/258-663* 
Serving TX.OR.AR.LA 



BUTLER ASSOCIATES. INC I COMPUTER SERVICES 
B2A Winchester Street | INTERNATIONAL CORP 



Newton. MA 02161 
617/964-5270 
Serving 
ME.NH.VT.CT.RI.MA 



INItRMMUnM LURK Ibbi CimitCY DM 

560 Sylvan A.enue Orlando. Fl 32109 

EnglewoodClills.N I 07632 305/659 7450 

201/569 6300 Serving 



GENTRY ASSOCIATES INC I INFORMATION SYSTEMS. INC I INTERNATIONAL BUSINESS 



7665 Cytrency Otive 



2420 E Oakton Street Unit K SYSTEMS CENTER 

Amnion Heights IL 60005 7023 little River Turnpike 

312/226-5480 Annandale. VA 22003 

Serving 703/750 3682 



Serving; METRO NY.E PA.Nl| TN.NC.SC.MS,U.Al.SA.H | Wl.ll.MN.IA.MO.NE.NO.KS.SO I Serving: MO.DEOC.VA 



OSSMANN COMPUTER SIGMA DISTRIBUTING 

TECHNOLOGIES INC 2110 116tk Ave.N.E 

6666 Old Collamer Road Bellevue. WA 96005 

E Syracuse. NY 13057 206/454 6307 

315/4376666 Serving 

Serving UPSTATE NY WA.0R KJ.AK 



STAR TRONIC 
DISTRIBUTOR CO. 
23976 Freeway Park Onve 
Farmington Hills. Ml 48024 
313/477-7586 



Serving Ml IN OH KY.PA W PA WV | Serving TX OR AR IA 



TECHNOLOGY MARKETING CORP VI1EK WESTERN MICRO 

2300 Valley View Lane 930 G Boardwalk Avenue TECHNOLOGY 

Suite 109 San Marcos CA 92069 10040 Bubb Road 

Dallas. TX 75234 619/744 8305 Cupertino. CA 9M 

214/243-7884 Serving: 406/725 1660 



NATIONAL HEADQUARTERS: I WEST COAST 

JUKI INDUSTRIES OF AMERICA INC I IUKI INDUSTRIES OF AMERICA. INC 



Cupertino. CA 95014 299 Market Street 
406/725 1660 Saddle Broek. NJ 07662 

S.rvingN.CA.NV,A2 201/3*58-3666 



CALIFORNIA DIVISION 
3555 Lomila Boulevard 
Torrance. CA 90505 
213/325 3093 



Assembly Language 
Made Simple — Part I 

by Hardin Brothers 

Assembly-language programming is like swimming: If you've never done it 
before and plunge in without any instruction, chances are you'll end 
up over your head. However, with the proper lessons and step-by-step 
guidelines, you'll learn the skill smoothly and without trauma. This 
article is the first in a consecutive three-part series that describes 
Assembly-language programming from start to finish. 

Like Basic and all other computer languages, Assembly 
language is a variation on the computer's only true lan- 
guage, machine code. Machine-language programs 
comprising only l's and zeros, are difficult to 
write and prone to typing errors. Consequently, 
programmers developed other languages that 
use mnemonic code to replace machine code. 
Although easier to work with, the further re- 
moved from machine code these languages 
are, the slower they execute and the less 
powerful they are. 

Assembly language provides a happy 
medium. It combines the advantages of 
simple code with the power of a lan- 
guage that closely resembles machine 
code. As a result, an Assembly-language 
program runs faster and provides more 



computational power than, say, a Basic 
program. 

Before you begin to write in Assem- 
bly language, you need the proper 
tools. Most important is a program 
called an editor/assembler. If you don't 
own one, the Radio Shack Series 1 Edi- 
tor/Assembler is a good choice to get 
you started. It's powerful for the price 
($30 to $35), comes with excellent docu- 
mentation, and while it doesn't completely 
satisfy an experienced programmer, it's 
powerful enough to satisfy all your needs 
until you become an expert. NEWDOS80 in- 
cludes Apparat's EDTASM module, also an 
excellent first assembler. 

Several other beginner programming tools are 
helpful in addition to the editor/assembler, but they're 
not mandatory. Most useful is a good monitor program. 
Monitors let you single-step through a program and watch 
the execution of each instruction. Radio Shack's T-Bug and 
74 • 80 Micro, December 1983 




Here's your first lesson in Assembly-language 

programming. This article describes how the Z80 

chip processes Assembly instructions. 



Debug, as well as any DOS Debug, can start you off, but 
more powerful monitors are available. 

Other useful tools are a disassembler program, Nanos 
Systems Corp.'s Z80 reference card, a printer for listings 
(invaluable for complex debugging), several reference 
books, and a disk system to simplify loading, saving, and 
assembling programs. These are all extras that make As- 
sembly-language programming easier; at first, all you 
need is an editor/assembler. 

TheZ80 

The heart of your Model I, II, III, or 4 is a Z80 micro- 
processor chip (or Z80A, the same thing but faster). 
Though this is one of the most advanced 8-bit micropro- 
cessors made, with 22 registers and a strong instruction 
set, it still has a very limited repertoire of capabilities. 

The Z80 can get a value from memory, put a value 
into memory, move values around in between its internal 
registers, add and subtract two values, perform simple 
logical manipulations (AND, OR, and Exclusive-Or), 
report some information about the results of its opera- 
tions, keep track of where to find its next instruction, 
and manipulate a simple data structure called a stack. It 
can't multiply or divide, directly print to the screen or 
printer, or do most of the things your computer does in 
Basic. 

Your job as an Assembly-language programmer is to 
utilize the simple abilities of the Z80 chip to develop a 
complex program, usually complete with input from 
keyboard, tape, or disk and output to tape, disk, screen, 
or printer. To do so, learn to think in terms of the Z80's 
capabilities, which means you have to break each opera- 
tion into specific, small steps. If you can train yourself to 
analyze and build programs in these small steps, you're 
well on your way to becoming an Assembly-language 
programmer. 

Assembly and Machine Language 

The only instructions the Z80 understands are se- 
quences of 5-volt and zero-volt electrical impulses. Gen- 
erally we refer to those impulses as l's and zeros. 

For example, the sequence of impulses represented as 
1100101100100111 makes the Z80 copy a specific single 
bit from one place inside itself to another. Because se- 



quences of l's and zeros look like a binary number, pro- 
grammers often think of them as such, and translate 
them into hexadecimal or, rarely, decimal numbers. The 
above instruction would thus appear as CBH 47H in 
hexadecimal notation, 203 071 in decimal. When you 
write programs by loading such values directly into 
memory, either with POKEs or by using a monitor pro- 
gram, you program in the Z80 native tongue, machine 
language. 

However, the Z80 recognizes almost 700 such instruc- 
tions. Except in unusual circumstances, it's a waste of 
time for a programmer to look up each instruction in a 
table and enter its special sequence directly into memory. 
That's why the first computer language ever developed 
was "Assembler." Using an assembler, you can write in- 
structions using mnemonic (memory' aids), 2- to 4-letter 
abbreviations of program instructions. You can write the 
binary instruction above as BIT 0,A which, while still far 
removed from English, is much easier to remember and 
understand. 

The assembler changes the mnemonic into the appro- 
priate bit sequence by looking it up in a table. The list of 
mnemonic instructions, which you write, is called a 
source code; the list of machine instructions, which the 
assembler writes from the source code, is the object 
code. The Z80 chip cannot act directly on source code in- 
structions, so the translation into bit sequences is neces- 
sary before you can run your program. 

Unlike Basic, assemblers are not interactive. You must 
write the source code, assemble it into machine language 
(which you save on either tape or disk), then load the ob- 
ject code back into the computer to run it. If a bug oc- 
curs in the program (and one almost always does), you 
must then reload the assembler program, reload your 
source code, correct the source code, save your source 
code back to tape or disk, assemble the program again 
on tape or disk, load the new object code back into mem- 
ory, and run it again. 

Virtually all assemblers come with an editor, a sepa- 
rate but related program that helps you write and correct 
source code. The editor is a simple, line-oriented text 
processor that includes the ability to number lines of 
source code and to find lines by reference to their 
numbers. 

80 Micro, December 1983 • 75 



■ 16 bits 



-«— 8 bits — ► 


-* — 8 bits — ► 


A 


F 


B 


C 


D 


E 


H 


L 



A' 


F 


W 


C 


D' 


E' 


IT 


L' 



IX 



IY 



SP 



PC 



I 


R 



Figure 1. The Z80 registers. 



Whenever you use an editor/assem- 
bler package to write a program, you 
must go through a four-step process: 

• Use the editor to write the source 
code. 

• Save the source code to tape or disk. 

• Assemble the source code into object 
code and save the object code to tape or 
disk. 

• Leave the editor/assembler program, 
return to either Level II Basic or DOS, 
load in the object code form of the pro- 
gram, and run it. 

The finished program probably loads 
as a SYSTEM program, if it's on tape, 
or as a /CMD program if it's on disk. 

Memory and Registers 

Your computer provides several dif- 
ferent types of memory. Basic resides in 
ROM, the keyboard and screen each 
have specially dedicated random-access 
memory (RAM), and programs and 
data use between 16K and 48K (on the 
Models I and III) of general-purpose 
RAM. Each byte of memory has a 
unique address which the Z80 uses to 
find stored values and to place values in 
the correct locations. 

Like program instructions, memory 
addresses are nothing but unique se- 
quences of electronic impulses, but it is 
easier to think of them in terms of hexa- 
decimal or decimal numbers. You can 
remember memory addresses more eas- 
ily in hexadecimal once you become fa- 
miliar with that numbering system. 

In Models I and III, ROM occupies 
addresses from 0000 hexadecimal (hex) 
76 • 80 Micro, December 1983 



to 37FF hex, the keyboard from 3800 
hex to 3BFF hex, the video screen from 
3C00 hex to 3FFF hex, and general 
memory from 4000 hex to 7FFF hex, 
BFFF hex, or FFFF hex depending on 
the amount of RAM in your system. All 
of the programs I include with this arti- 
cle run with any size RAM (except 4K) 
for a Model I, III, or 4 (in the Model HI 
mode). 

You may notice that memory holds 
both program instructions and data, 
and wonder how the Z80 distinguishes 
the two. It doesn't. As far as the Z80 is 
concerned, no difference exists between 
the two; you and your program decide 
which parts of memory hold instruc- 
tions and which hold data. However, if 
you make a mistake and allow the Z80 
to operate on data as if it were instruc- 
tions, you face the infamous "silent 
death" — either a locked up computer 



or a spontaneous reboot. 

The Z80 contains 208 bits of memory 
organized into registers (see Fig. I). 
Each register is either 8 or 16 bits 
wide — that is, each holds either 8 or 16 
bits of information. As a programmer, 
you manipulate the values held in these 
registers, and copy information from 
the registers to RAM and vice versa. 

The A register, which holds 8 bits, is 
the accumulator. It's a general pipeline 
for moving data into and out of the Z80 
chip, and also aids in almost all of the 
arithmetic and logical operations the 
Z80 performs. 

The individual bits of a second regis- 
ter, called the F or flag register, holds 
information about the results of various 
internal operations. The Z80 uses these 
flags to perform conditional branches 
(similar to the Basic If. . .Then com- 
mand). 

B, C, D, E, H, and L are all general- 
purpose 8-bit registers that hold tempo- 
rary data and operands for arithmetic 
and logical operations. You can also use 
these registers in pairs: BC, DE, and 
HL. Each pair holds 16 bits and can 
hold data addresses in memory, or large 
values used in some arithmetic func- 
tions. 

The HL register pair also has a spe- 
cial function. Whenever the Z80 per- 
forms 16-bit arithmetic operations, the 
HL register pair becomes an accumula- 
tor and holds the results of the calcula- 
tions. Using any register pair as two 
8-bit or one 16-bit register is entirely up 
to you, and you can change their func- 
tion at any time. 

Two 16-bit index registers exist, IX 
and IY. They almost always hold ad- 
dresses of data tables in memory, and 
make accessing that much easier. 

SP, the stack pointer, is a special- 
purpose register that holds the address 
of (points to) a data table called the 
stack. Stack operations let the Z80 
return to the appropriate location after 





The Key Box 

Model I and m 
16KRAM 
Assembly Language 
Editor/ Assembler 


■■111 J* 

•1121 ;* The First Program — 
08139 ;* 

00148 ;* Print "HI" in the upper- 
■fllSf ;* left corner ot the screen 

88160 ;• 


• 
* 
* 
• 
* 
* 


08180 ; 

00190 ORG 7080H 

II2II ; 

■•211 START LD A, 4 SB 

•1220 LD (3C00H) ,A 

00230 LD A,49H 

00240 LD (3C81H) , A 

00250 LOOP JP LOOP 

00260 ; 

•1271 END START 

Program Listing J. A 




;Def 

;48B 
; an 
;49B 
1 an 
;Loo 

ssemb 


ine beg. of prog. 

is ASCII value of B 
d put it on screen 

is ASCII value of I 
d put it on screen 
p forever 

ly-Language Lesson I. 



Shape your TRS-80 to 
communicate with any computer you want. 





S^Sfe^:. 



Omniterm is the most flexible, powerful 
terminal program you can buy. Omniterm lets you 
adapt your TRS-80 to communicate with 99.9% of 
the world's computers. Your company's mainframe, 
for example. Or any other personal computer, time- 
sharing computer, or communications service. 

Omniterm overcomes incompatibilities in 
screen formats, baud rates, character sets, control 
codes and file transfer protocols. Seven complete 
translation tables let you change any character, for 
complete compatibility of all input and output 
devices. Omniterm is so flexible, users have even 
set up their ASCII-coded systems to communicate 
with EBCDIC-coded systems. 

You can send all ASCII characters, even those 
that aren't on your keyboard. Reformat your screen 
to neatly accommodate any line length. Run your 
printer while you're sending or receiving data. 
And even review data that's scrolled off the top 
of the screen. 

Omniterm 's well-thought-out design makes it 
easy to use. You can get a status display of all func- 
tions while on line to tell you what's going on, and 
make any changes at the same time. You can create 
a special file of your settings to make it easier next 
time. You also get X/Y cursor control, single keystroke 
sign-on and auto-dialing. Even a phone directory. 
And lots more. 



You don't have to be a computer expert to use 
Omniterm. Just spend a day with what the review- 
ers call "the best manual in the business." Then if 
you need helpjust call, write, or contact us \/ia 
CompuServe, Delphi, or Source. 

Omniterm is the proven terminal program. The 
program thousands of people have used success- 
fully. And the one the editors call the "top program 
available" (Byte, 8 0-Micr o, Infoworld, etc.) 

Omniterm comes complete with sample setting 
files, conversion utilities, a practical text editor, seven 
translation tables, and a 76-page manual with index. 

Available at leading dealers, or prompt shipment 
on direct phone and mail orders. Order Omniterm, 
for a super-smart TRS-80 that's putty in your hands. 



Only $95 for TRS-80 Models I, III or 4 (32K memory, 
one disk minimum). $175 for Models II, 12 or 16 
(64K memory minimum). (In Mass., add 5% sales 
tax. ) MasterCard, VISA, and C.O.D. 
IBM PC version coming soon. 
DEALER INQUIRIES INVITED. 



Telephone: (617)852-0233 
CompuServe: 70310,267 
Source: TCA8 18 
Delphi: Lindbergh 



V 



S£ 



•«o. 



Omniterm 

lindbergh Systems 

49 Beechmont St., Worcester, MA 1 609 




> t 



*• Sm 1 ist of Advertisers on Pag* 291 



sz&ss 



80 Micro, December 1983 • 77 



it completes a subroutine, simplify sav- 
ing data from registers temporarily, and 
allow transfer of 16 bits of information 
from one register pair to another. 

The program counter, register PC, 
always holds the address of the next 
program instruction. The Z80 uses the 
PC register to keep its place in the pro- 
gram while it carries out an instruction. 

A', F\ B\ C, D', E\ H', and L' (the 
prime set) are a second set of general- 
purpose registers. If you give the correct 
instructions to the Z80, it saves the reg- 
ular general registers (A to L) and the 
prime set becomes active. A later ex- 
change instruction switches the first set 
of registers back into active service. It's 
up to the program (and programmer) to 
keep track of which set is in use at any 
given time— the Z80 considers the inac- 
tive set the prime set. 

Finally, there are two 8-bit registers, I 
and R, that programmers rarely use. 
The R register holds the address of the 
next bank of memory that needs re- 
freshing (a kind of electronic tickling to 
stay awake). The Z80 handles the mem- 
ory refresh chores automatically. The I 
register is useful for some interrupt pro- 
cessing, but the Models I and III don't 
include the hardware necessary to use it. 

A First Program 

The best way to understand Assem- 
bly-language programming is to start 
programming. Because every editor/ 
assembler package includes its own 
unique editor instructions, I will not 
give explicit instructions on using the 
editor portion of your editor/assem- 
bler. Load the program and run it, then 
use the documentation to experiment 
with the editor until you are comfort- 
able with its commands. You probably 
use a command like I to start entering 
text on numbered lines, a Break to 
return to the function prompt, a P to list 
what you have written, and so on. 

Your first Basic program was proba- 
bly something like 

10 PRINT "HI" 

so I'll start you with a similar Assembly- 
language program (see Program Listing 
1). Even though this is a simple, short 
program, there is much to learn from it. 
The first nine lines, 100-180, are all 
remarks and the assembler ignores 
them. In most assembler formats, a 
semicolon precedes all remarks. 

It is wise to liberally include remark 
statements in your source code pro- 
grams—the remarks don't take up 
memory space in your completed ma- 
chine-language program and they help 
78 • 80 Micro, December 1983 



you understand program logic several 
weeks later. 

After the remark lines, everything in 
the program falls into four neat col- 
umns. The first column, or field, con- 
tains a five-digit line number as supplied 
by the editor. As I explained earlier, 
these numbers are used only by the edi- 
tor and ignored by the assembler. They 
help you find the correct line to edit and 
the right place to insert new lines. Just 
as in Basic, it is normal in Assembly 
language to increment lines by 10 so you 
can insert lines later. Also, your editor 
probably includes a simple renumbering 
facility. 

The second column contains labels, 



each of which can contain one to six 
alphanumeric characters. Labels can 
represent either values (as I show in the 
next program) or the addresses. The 
labels in this program, Start and Loop, 
represent the addresses of the instruc- 
tions that follow them. 

The third column contains either the 
mnemonics for the machine-code in- 
structions or pseudo-ops — direct in- 
structions to the assembler program 
that don't get translated into machine 
instructions. Simple assemblers provide 
only a handful of pseudo-ops that are 
easy to understand and use. 

The fourth column contains the oper- 
ands for each instruction. Each mne- 



Making Sense of 
Those Crazy Numbers 



by Amee FJsenberg 
80 Micro Technical Editor 

The Decimal System 

For those of us with 10 fingers, a 
decimal number system (based on 
units of 10) has always made intrinsic 
sense. You start at your thumb and 
keep counting until you run out of 
fingers. Then you make a mark to 
signify one group of 10 and start at 
your thumb again. Things are 
counted in groups of 10s plus any left- 
over l's. 

We write numbers using a place 
value system, placing units, or l's, 
furthest to the right in a number. The 
next place holds the 10s, and the next 
the 10 times 10s, or 100s. Reading 
from right to left, the value of the 
place increases by a multiple of the 
base. Thus, 1, 10, and 100 signify 
one unit, 10 units, and 10 times 10, 
or 100, units respectively. You can 
represent this as follows: 

Y Y Y (♦ 1) 
CIO) 
(♦100) 

The Binary System 

Your computer is based on a bi- 
nary numbering system; that is, it 
uses a two-unit counting system. It 
counts with electrical impulses that 
are either off or on, which we repre- 
sent numerically as and 1. It also 
uses a place value system to keep 



track of larger numbers. 

In a binary, or base 2, numbering 
system, the places hold multiples of 
2. So the first place represents units, 
the next 2's, the next 4's. Thus, 1, 10, 
and 100 signify 1 unit, 2 units, and 2 
times 2, or 4, units respectively. This 
is represented as: 



YYY 



CD 

C2) 
C4) 



Binary becomes ungainly for 
humans as the numbers get larger. 
For instance, the number 136 
decimal is written 10001000 in 
binary. That is, there are no l's, no 
2's, no 4's, one 8, no 16s, no 32s, no 
64s, and one 128. Adding the one 8 
and the one 128 results in the decimal 
equivalent, 136, as below: 



10 








(0* 1) 









(0* 2) 









(0* 4) 






8 


(1 * 8) 









(0* 16) 









(0 • 32) 









(0* 64) 






12X 


(1 *128) 






136 


decimal 



Since humans count in decimal 
and computers in binary, a com- 
promise counting system is necessary 
to make conversations between hu- 
mans and computers a little simpler. 



monic requires that zero, one, or two 
operands follow it. In most cases, the 
number of operands is obvious — you 
can't ask the Z80 to load (LD) a value 
unless it knows where the value is com- 
ing from and where it is going. So, two 
operands always follow the Load 
command. 

Finally, Assembly code reserves the 
last column of each line for remarks. 
You can quickly leam to write cogent 
remarks that fit on the same screen line 
as the rest of the instructions and pro- 
duce clean, easy-to-read source code. 

Refer back to Listing 1. Lines 
100-180 are remarks ignored by the 
assembler. Line 190 starts with the 



pseudo-op ORG, which defines the 
starting address of the program so the 
assembler can calculate addresses of 
each of the instructions. 

Notice that the program's address, 
7000H, is a hexadecimal number fol- 
lowed by the letter H. The same ad- 
dress, in decimal, is 28672. Unless a suf- 
fix of H or B follows a number, the 
assembler assumes that number is in 
decimal format. However, the assem- 
bler accepts a suffix of D to indicate a 
decimal number. Get into the habit of 
adding a base suffix to the end of every 
number you use in a source code, re- 
gardless of its base; it makes debugging 
much easier. 



Enter the base 16, or hexadecimal, 
numbering system. 

The Hexadecimal System 

Hexadecimal (usually abbreviated 
hex), is just like decimal if you have 
16 fingers. To count in hex, you say 
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F. A 
is equivalent to 10 decimal, B to 1 1 
decimal, C to 12, D to 13, E to 14, 
and F to 15. Ten hex is equal to 16 
decimal because, just like decimal 
and binary, hex uses a place value 
system to represent numbers. Ten 
hex means that there are no units and 
one 16: 



YY 



(*i) 

(*16) 



When you write a hexadecimal 
number, we append the uppercase 
letter H to it to avoid confusing it 
with binary or decimal. Additional- 
ly, we write the numbers A through 
F as 0AH, 0BH, 0CH, etc., the zero 
eliminating confusing the numeral 
with a letter. 

To understand why hex is conve- 
nient for the computer, you need to 
think about how the computer stores 
information. The Z80 microproces- 
sor uses 8-bit logic. A bit is an elec- 
tronic signal that's either on or off 
(binary, remember?). 

A group of 8 bits of information 
clustered together is called a byte. A 
single hex numeral can represent 
half-bytes, or nibbles, consisting of 4 
bits because the greatest value a four- 
digit binary number represents is 16 
decimal. Remember, 1000 in binary 
is 10 in hex and 16 in decimal. So two 
hexadecimal digits can represent any 
8-bit value (a byte). 



It's easy to convert a binary byte 
to a hexadecimal byte. Take the 
number 10001000 binary again. The 
first step is to break the byte into its 
component nibbles, 1000 and 1000. 
Then convert each nibble to hex: 

10 (0*1) 10 (0*1) 

(0*2) (0*2) 

(0*4) (0*4) 

8 (1*8) 8 (1*8) 



8H 



8H = 88H 



Therefore, 10001000 binary is 88 
hex. Check this by converting both 
binary and hex values back to dec- 
imal. Earlier I said that 10001000 bi- 
nary is 136 decimal. 88H means 8 
units plus 8 sixteens (or 128) which 
equals 136 decimal. 

Try another binary-to-hex conver- 
sion, this time with 10011110. Break 
it into two nibbles: 1001 and 1110. 
Convert each nibble: 

10 1 1 (1*1) 1110 (0*1) 

(0*2) 2 (1*2) 

(0*4) 4 (1*4) 

8 (1*8) 8 (1*8) 

9 E (14 decimal) 
= 9EH 



So, 10011110 is 9E hex. If you 
check this by converting to decimal 
you find 10011110 equals (128 + 
16+8 + 4 + 2) or 158, and 9EH 
equals (9x 16+ 14), also 158. 

Working with binary and hex be- 
comes easier as you do more of it. 
And learning these other number 
bases is necessary if you want to 
speak in your computer's native 
tongue. ■ 



Gets Mail 



From unsolicited letters of testimonial 

Gentlemen: 

....Thank you for such an 
excellent product! I spent part 
of last evening installing the 
CRT and had absolutely no 
problems with the installation. 
I wish all modifications could 
be as easy and as well sup- 
ported as the one I received 
from your organization. You 
can be sure of recommenda- 
tions for your product from 
me. 

Thanks again 

D.C. 

APO, NY 



Dear Langley-St. Clair. 

[This] letter [is] to thank you 
for putting together a really 
great addition to the Radio 
Shack Model II. 

I had unsuccessfully tried 
two different kinds of anti- 
glare products prior to the pur- 
chasing of your anti-glare 
Green Phosphor CRT. 

Not being an electronics ex- 
pert I was hesitant to try the 
installation myself. But, after 
reading the instructions that 
were supplied with the CRT, I 
decided to try it. The instruc- 
tions were so outstanding that 
the whole process was ac- 
complished without any prob- 
lem or question.... 

We hope you will develop 
some other additions or im- 
provements for the Model II. 
We can be counted as an en- 
thusiastic supporter. 
Cordially, 
B.T. 
Gregory, Michigan 



LSIS't NEW SOFT-VIEW 
REPLACEMENT CAT 

FOR THE 
FULL STORY, 
SEE PAGE 41 




*■ S— Utt of MtmtlMn on P«g» 291 



Langley-St.Clair 

Instrumentation 

^sterns, Inc 

13? West 24th St NY. NY 10011 
1 -800-221- 70 70 



60 Micro, December 1983 • 79 



10100 


























•fllf 


;* 










• 


91120 


;* 




The Second Prograa — 




• 


08138 


t* 










• 


80148 


l« 




Fill the 


screen with 


•BI 


* 


88158 
■ 8178 


;* 










• 


» 












80188 


VIDEO 


EQO 


3C00B 




;3C00H - top of screen 


08190 


1 












00200 






ORG 


7000B 






08218 


1 












00220 


START 


LD 


BL, VIDEO 




>BL-»> Top of screen 


00238 






LD 


BC,400B 




jBC»length of screen 


00241 


LOOP1 


LD 


A, 'H' 




jGet first character 


00250 






LD 


(BL) ,A 




;Put it on screen 


00260 






IMC 


BL 




jBL--> next screen pos'n 


00270 






DEC 


BC 




iBC-nuaber of pos'ns left 


00280 






LD 


A, 'I' 




(Get next character 


00290 






LD 


(BL),A 




j Put it on screen 


00300 






INC 


HL 




;BL«»> next pos'n 


00310 






DEC 


BC 




;one less pos'n left 


00320 






LD 


A r B 




; Get MSB of count 


00330 






OR 


C 




;Merge with LSB of count 


00340 






JP 


NS,LOOP1 




;Loop er of pos'ns left 


00350 


LOOP2 


JP 


LOOP2 




(Then loop forever 


00360 


1 












00370 






END 


START 






00380 


; 
















Program Listing 2. Assembly-Language Lesson 2. 



Line 210 is the first line of actual in- 
struction. It has the label Start, which 
the assembler sets equal to the address 
of the instruction (7000 hex). This in- 
struction tells the computer to load 
(LD) the A register with 48 hex, the 
ASCII value of the character H. 

Line 220 instructs the Z80 to take the 
current value in the A register, and 
place it in memory at address 3C00 hex. 
Remember that the screen memory oc- 
cupies addresses from 3C00 hex to 
3FFF hex. Therefore, this instruction 
causes the Z80 to place the value 48 hex 
in the first location of screen memory. 
The computer's screen electronics then 
print an H in the upper left-hand corner 
of the screen. 

Four things in line 220 require special 
attention. First, notice the parentheses 
placed around the screen address. They 
are necessary to indicate to the assem- 
bler that 3CO0 hex is an address, not a 
value you want manipulated. The in- 
struction is best read as "Load the con- 
tents of register A into the memory 
location represented by the value 3C00 
hex." 

Second, notice that getting the H to 
the screen requires two instructions. 
The first instruction reads the H from 
memory and the second stores it to a 
different place in memory. In general, 
the Z80 cannot simply move data from 
one memory location to another. It only 
moves data to or from the registers in 
the chip. (Some instructions avoid this 
restriction, however.) 

Third, it is important to realize that 
this instruction doesn't change the con- 
tents of register A. It copies the contents 
to location 3C00 hex, but A is not emp- 
ty. An LD instruction never changes the 
80 • 80 Micro, December 1983 



value that it moves; it only transfers that 
value to a new place. 

Fourth, notice the order of the two 
operands of each LD instruction. The 
first operand receives the value trans- 
ferred from the second. If you read line 
220 as "Load 3C00H from A" you can 
remember the correct order of 
operands. 

Lines 230 and 240 are now clear. 
They load the A register with the ASCII 
value of I and place that value at the 
next screen location. When the comput- 
er executes the instruction in line 240, it 
prints HI in the top comer of the screen. 

Line 250 introduces a new instruc- 
tion, the Jump (JP) instruction. It tells 
the Z80 to take its next instruction from 
a new place in memory (like Basic's 
GOTO). Notice that the line gives the 
symbol LOOP, and the instruction says 
"Jump to LOOP." This instruction 
produces a tight, endless loop similar to 
the Bask instruction "50 GOTO 50." 
The computer seems to lock up and 
there's no way to regain control except 
by pushing the reset button. This in- 
struction is necessary to stop the Z80 
from wandering off and trying to exe- 
cute whatever it finds scattered through 
memory. Every program must come to 
some specific end, either with a loop or 
a return to Basic or DOS. 

The last line of Listing 1 uses the 
pseudo-op END for two purposes. 
First, the assembler needs to know the 
end point of the program. Every source 
code must have END in its last line. Sec- 
ond, if the address of the beginning of 
the program follows END, the assem- 
bler includes that information on disk 
or tape so the program runs auto- 
matically. Start is the label for the be- 



ginning of this short program and, be- 
cause it already equals 7000 hex, it tells 
the assembler that the program starts at 
that address. 

Before you read further, try to enter 
and assemble the program in Listing 1. 
Use the Insert command to get auto- 
matic line numbering, and copy the 
program exactly (you may leave out the 
remarks if you wish), using the right-ar- 
row key to tab between columns on the 
screen. Then return to the prompt. 

When you're ready to assemble the 
program, first try a test assembly by as- 
sembling the program with no output. 
The command you give to the assembler 
is probably A ,NO, or A/NO which 
asks it to assemble without output. If 
you enter the program correctly, the as- 
sembler displays 00000 Errors. That is 
the assembler's method of saying that 
each line has correct syntax; obviously, 
the assembler doesn't know whether 
your program does what you want it to. 

Save the source code to either tape or 
disk. (If you make a logic error in your 
program, you want to correct the source 
code, not write it all over.) Assemble the 
program to tape or disk. In both cases, 
give the program a name — on tape the 
names can be anything you wish; on 
disk, write the source code with a /SRC 
or /ASM extension and the program 
with a /CMD extension to make it run 
directly. Finally, use SYSTEM or DOS 
to load and run your program. "HI" 
should appear in the upper left corner 
of the screen. Your computer is in an 
endless loop, so press the Reset button 
to regain control. 

If all goes well, reload the editor/ 
assembler and the source code and try 
to modify it — perhaps have the pro- 
gram print your name on the screen. 
Experiment with different messages and 
different screen locations — it is the only 
way to learn Assembly language. 

Modifying a Program 

I know Listing 1 isn't an exciting pro- 
gram, but your first Basic program 
probably wasn't much fun either. Here 
I add a few bells and whistles, as well as 
some new concepts. 

Program Listing 2 fills the entire 
screen with the letters HI. It also intro- 
duces several new programming tech- 
niques, the first of which is in line 180. 
The EQU pseudo-op sets the label Vid- 
eo equal to the value 3CO0 hex; instead 
of having to remember a value each 
time you use it in a program, you can 
give it an easy-to-remember label. 

Line 200 looks familiar. Line 220 tells 
the computer to load the value of Video 
into the HL register pair. In this pro- 




ROAR! 



Do tricks with your computer without 
breaking your wallet's spirit' A subscrip- 
tion to Chromasette 'jets you a tape or 
disk full of quality programs delivered by 
First Class Mail every month' Write for 
more information or. better yet. try a Back 
Issue. At S6.00 for 6 to 8 programs on 
tape | SI 1.00 on disk), you'll see just how 
good and inexpensive Chromasette 
software is. 

The Bottom Une: Tape Disk 

I year (12 issues] S50.00 S95 00 

6 months (6 issuesl S30.00 SS5 00 

Single Issues S 6.00 SI I 00 



CjM rrudrnit *oo 6* to srxjie uiues ftv CUij oosugr 10 

N An»r included Ovrtuui Mo SI0 ;o suDMnooons Ana 11 to 

.« Sen AO 'die Ail tMC* mun l-nrv. July ISBI »iM 

able - fikta list Progurm »r lor tne Etended BASIC modrl 

aid occa«yia»iy tor amn 




PO Box 1087 Santa Barbara, CA 93102 
(805) 963-1066 



gram, HL points to, or holds, the ad- 
dress of the current video position in or- 
der to simplify the program. 

Line 230 loads the BC register pair 
with the value 400 hex (which equals 
1,024). This program uses BC as a byte 
counter; 400 hex equals the length of the 
screen, and when BC is zero, the screen 
is full. Using a byte counter is similar to 
using a For. . .Next loop in Basic. 

Line 240 loads the A register with the 
ASCII value for H. By placing the H in- 
side a set of single quotation marks, you 
tell the assembler to translate the letter 
into its ASCII equivalent — you don't 
have to look it up in a table. Line 250 
loads the value in the A register into the 
memory location to which HL points. 
Notice that parentheses enclose the HL 



"The screen 
should fill with 
the word HI." 



just like the addresses in the last pro- 
gram, which tells the Z80 to treat the 
current HL value as a memory address. 

Line 260 increments (increases by 1) 
HL so it points at the next memory lo- 
cation and line 270 decrements (de- 
creases by 1) BC so it holds the number 
of screen positions remaining. Lines 
280-310 repeat the whole process for 
the letter I. 

Lines 320 and 330 test the value in BC 
to see if it is zero yet, which means the 
screen is full. First, the program copies 
the value in the B register into the A reg- 
ister. Then it ORs the value in C with 
the current value in A. If both B and C 
are zero, the result of the OR is zero, 
and the program sets the zero flag in the 
F register. Otherwise, the result is some 
other value and the F register flag indi- 
cates Not Zero. 

Line 340 uses the results of the OR to 
decide whether or not to repeat loop 1 . 
It tells the Z80 to jump only if the F reg- 
ister shows Not Zero. If the flag indi- 
cates a zero result of the OR in the pre- 
vious instruction, the program ignores 
the Jump command. The jump contin- 
ues until the BC register pair decrements 
to zero. Then line 350 performs an end- 
less-loop jump. 

Notice that the instructions from 
lines 240-340 do not depend on any par- 
ticular values in HL or BC. Whatever its 
current value, HL points to the current 
address on the screen. The program in- 




STEAL THE 



PROGRAMS 

The best out of our library of over 
200 published programs, packaged 
and priced so low that it seems like 
robbery: 



Games #1 - Action-packed, logical, 
and colorful ones I Flyby. Blackjack. 
Motorcycle. Germ. Blockade. Life. Di- 
ggem. Robot Run, Stellar Empire, and 
Zero G for your fun and pleasure' 

Adventures #1 - Trips to far-off and 
dangerous places. On the agenda are 
Jerusalem Adventure. Ultimate Adven- 
ture. Williamsburg Adventure. House 
Adventure. Andrea Dona Adventure. 
Blackard's Castle, and Realm of Naugal 

Practical* #1 - Programs for text edit- 
ing, maillists. budgeting, filing, etc. in- 
cluding Keeptext. Keep Address. Keeplist. 
Keepcheck. Keep Budget. Files, and Tape 
Inventory. 

Graphs & Charts #1 - For data man- 
ipulation and display' Do it with Pie 
Chart. Bar Chart. XY Graph. Curve Fit, and 
Two Dates 

Choose any one of the four packages for 
just $12.00 (SI7.00 on diskji 



- a lot of software for ,i little silver 



See your dealer or 

Write or call us direct ar PO Box 21 101 

Santa Barbara CA 93121 (805) 966-1449 



80 Micro, December 1983 • 81 



Subscription 



80 Micro does not keep subscription 
records on the premises, therefore 
calling us only adds time and doesn't 
solve the problem. 

Please send a description of the prob- 
lem and your most recent address 
label to: 

BDmicrc ® 
Subscription Dept. 
PO Box 981 

Farmingdale, NY 11737 



Thank you and enioy your subscription 



micro 

Single Back Issues 




January 1960 to June 1980 3.00 

Single back issue 
July 1960 to May 1983 3.50 

Single back issue 
June 1963 on 4.50 

Add Si. 00 per magazine tor shipping. 

10 or more back issues 

add $7.50 per order for shipping. ® 

Back issues* Attn. Mail Order 
80 Pine St.* Peterborough, NH 03458 



this publication 
is available in 
microform 




University Microfilms International 

300 North Zeeb Road 18 Bedford Row 

Dept. P R Dept. PR. 

Ann Arbor. Ml 48106 London. WC1R4EJ 

U.S.A. England 



M1M 


















•1111 


• • 






* 


00120 


»• Trie Third Proqrara — 


• 


■ 1131 


1* 






* 


Bene 


i* Pill the 


acreen with a 


4 


• •151 


i* a 


lmple massage 


• 


10161 


»* 






* 


••171 










90188 


t 








•■190 


l 








00200 


VIDEO 


EQU 


3C00H 


; Address of acreen top 


00210 


1 








00220 




ORG 


7000H 


{Beginning of program 


00230 


I 








00240 


r Fleet i 


clear 


the screen 




00250 


i 








00260 


CLEAR 


LD 


HL, VIDEO 


,HL--> screen top 


00270 




LD 


BC400H 


>BC » Length of acreen 


00280 


CL10 


LD 


(HL),' ' 


j ASCI I Space to acreen 


00290 




INC 


HL 


;HL==> next acreen poa'n 


00300 




DEC 


BC 


(Decrease count 


00310 




LD 


A,B 


>Get MSB of Count 


00320 




OR 


C 


; Merge LSB of count 


••331 




JP 


NZ,CL10 


»Loop back until BOG 


80340 


1 








00350 
• •361 


1 Now that screen la cleat, di 
1 


splay message 


• •371 


PRINT 


LD 


HL, VIDEO 


|HL«> acreen top 


10360 




LD 


DE, HESS AG 


jDE--> beg. of message 


00390 


PR10 


LD 


A,(DE) 


iGet nest character 


00410 




LD 


(HL) ,A 


; And put It on screen 


• 0410 




CALL 


INCNSG 


l Increment k check DE 


00420 




CALL 


INCVID 


l Increment t check HL 


00430 
00440 


1 


JP 


NZ.PB10 


rLoOD until icrHii'i full 


00450 
00460 


j The screen la 
f 


full, look for 


a keystroke then start over 


00470 


KEY 


LD 


A r (3BFFH) 


l Check the keyboard 


60480 




OR 


A 


j Set the flaga 


00490 
00500 


1 


JP 


I, KEY 


7 Loop until key is down 


00510 


iKey ia 


pressed — wait until 


it is released 


00520 


I 








00530 


NOKEY 


LD 


A, (3BFFH) 


jCheck the keyboard 


00540 




OR 


A 


;Set the flags 


005S0 




JP 


N2. NOKEY 


{Wait until key ia up 


00560 
00570 


1 


JP 


CLEAR 


jThen start again 


00580 


;Now cone the 


aubroutlnes 




00590 


; 








00600 


l Increment the 


message pointe 


r until it points to 


00610 


; the 


end of 


the message and 


then reset it to the 


00620 


J begl 


nning . 






00630 


1 








00640 


INCNSG 


INC 


DE 


jDE«> Next poa'n of mag. 


00650 




LD 


A,(DE) 


iGet the character 


00660 




CP 





ila it a 7 


00670 




RET 


NX 


jReturn if not 


00680 




LD 


DE, MESSAG 


i Else DE-"> beg. of mag. 


00690 




RET 




; And then return 


00700 


1 








00710 


;Increa 


ent the 


video pointer 


jntil it is off the screen 


00720 


1 








00730 


INCVID 


INC 


HL 


;QL==> Next pos'n of vid. 


00740 




LD 


A,H 


iGet MSB of pointer 


00750 




CP 


40H 


;if H-40H, off the screen 


00760 




RET 




; Return foe test 


00770 


1 








00780 


jNow type in the message 




00790 


1 (You 


may use any message you wish) 


00800 


1 








00810 


MESSAG 


DEFH 


'How is this 


for fast? ' 


00820 




DEPB 


■ 


;Hark end of message 


00830 


• 








00840 


; That' 8 


all, so end the progr 




008S0 


> 








00860 




END 


CLEAR 


; Include starting address 


00870 


• 












Program Listing 3. Assembly- Language Lesson 3. 



crements it after each character prints. 
BC's current value decrements after the 
program prints each character. The 
program continues until BC indicates a 
full screen. The entire routine depends 
on the Z80's ability to make a condi- 
tional jump in line 340, based on the 
current status of the zero flag. 

Enter, assemble, and run Program 
Listing 2. Again, you must use the reset 
button to exit from the program be- 
cause of the endless loop in line 350. 
The screen should fill with the word HI. 
See if you can modify this program be- 



ing careful that you don't let the pro- 
gram print off the end of the screen. 

More Bells and Whistles 

This next program lets you fill the 
screen with any message you wish. It 
also allows you to hit any key to clear 
the screen and print the message again. 

Lines 190-270 in Program Listing 3 
need no explanation. Notice that the in- 
struction in line 280 loads a character 
(here, an ASCII space) directly into the 
memory location to which HL points. 
This instruction avoids first loading the 



82 • 80 Micro, December 1983 



a-1 




The Best Just Got Better 



Introducing the new Strobe Models 260 and 200 Graphics 
Plotters. How do you make the world's most cost-effective graphics 
system even more remarkable? Simple. Make it easier to use, more 
powerful, more versatile and more attractive. The hard part is doing all 
of the above while holding the line on a very affordable price. With the 
new Models 260 and 200 Graphics Systems, Strobe has done it all. And 
the benefits are all yours. 

The Strobe 260 is the first eight-pen plotter and software package 
available for under $1,000. With just a 
few keystrokes on your computer, the 
system produces superb high-resolu- 
tion charts, drawings and transparen- 
cies with up to eight automated color 
breaks. The even more economical 
Model 200 produces the same wide 
range of graphics with a single pen 
which may be changed manually. 

The new Strobe plotters interface 
with virtually every popular microcom- 
puter made today, including the Apple 
H, He and HI, Victor, IBM PC, Kaypro 




and Osborne systems. What's more, the StrobeWare software programs 
provide every graphic format you will probably ever need, including 
multicolor pie charts, bar graphs, line graphs, text processing, and a 
broad selection of symbols and character styles. To further increase your 
capabilities, the new Strobe systems also interface with over 40 other 
popular graphics programs. 

Every feature of the new Strobe Graphics System is designed to give 
you the highest quality graphics quickly; easily and inexpensively. The sys- 
tem also looks very nice on your desk. 
So visit your local dealer today and see 
how much better the best can be. 

Apple !1, He and in Victor, IBM PC. Uypro and Osborne art 
trademark* of Apple Computer. Inc. Victor I niled, Inc . Inter- 
national Business Machines Corporation Uypro Corporation. 
and Osborne Computer Corporation, respectively 



Strobe Inc. 

897 5-A independence Ave 
Mountain View, CA 94043 
415/969-5130 




The Strobe Graphics System 

Seeing is believing 



COMPUTER SHACK 



Computer Shack has been in the bus- 
iness of publishing software for 3 years 
We are the leading publisher and de- 
veloper of Games and Misc. SOFTWARE 
for the Radio Shack Computers. At the 
present time we have more excellent 
quality games for the Model l/IH/4 then 
Radio Shack Try one of our excellent 
software programs and get on our mail- 
ing list for our exciting Software catalog. 

Our current list of best selling games 
for the Model i/lll/4 include. ... 
JUMBO a great flight simulator of a 
Boeing 747 ($29.95/29.95) . . . TIME 
BANDIT a fantastic arcade game with 
3 different time zones. Our Best Arcade 
game ($22.95/ 26.95) . LIBERATOR 
A great clone of Donkey Kong' ( 1 9.95/ 
24.95) . MOON ROVER Battle the 
strange invaders while making a run 
for the nearest earth installation 
($22 .95/26.95) . . . FURY A great space 
game with three different screens 
($22.95/26.95) ...CONVOY You must 
protect the convoy from enemy fighter 
planes and helicopters ($22.95/ 26.95) 
.. DIGOUT A great game for those who 
like to dig underground and snoot the 
monsters ($ 1 9.95/24.95) . . . CYBORG 
The greatest Pac Man" type maze 
game ever written for the TRS-80 
($19.95/ 24.95) . . CLASH Mounted 
on your dragon you take on the world 
($19.95/ 24 95) STRONGHOLD 

f Protect your four cities from flying 
bombs ($2 1.95/ 24.95) 

Serious Soft ware for the Model l/IH/4. 
SuperDos a program that improves 
TRS -DOS 1.3 (Model III). A better 
copy! Coptes Visacalc and Scrlpsit. 
Disables passwords. Runs faster, 
makes TRS-DOS better SI 9.95 
Super Input gives your basic program 
a Professional Machine Language in- 
put routine that lets you move the 
curser around the screen to make 
input and corrections a snap $19.95 
Family Tree an excellent Genealogy 
program to help trace and keep track 
of the Famny Tree ($29.95/29.95) . 
Check Writer a very good check writ- 
ing and check book balancing pro- 
gram for the individual or small bus- 
iness ($39.95) . . . Tead A tape editor 
and debugger for the tape based 
machine $19.95 ... TRSFIX a great 
program with over 132 different 
changes that allow you to totally cus- 
tomize your Model III TRS DOS operat- 
ing system. $29.95 . . . and many many 
more. 

All Computer Shack programs are unconditionally guaranteed to perform as ad- 
vertised. We fill 95% of our orders within 24 hours. 

For Information call (313) 673-8700 or 673-2224 for ORDERS call 1 -800-392- 
8881 



COMPUTER SHACK 

1691 Fason • Pontiac. Michigan 48054 

Info (313)673-1205 • Orders CALL TOLL FREE (BOO) 392-8881 

Maste' Charge and VISA OK Please add S3 00 for shipping in the U S.A S5 00 

for Canada 

Dealers inquires Invited 



PASCAL ONLY $49.95 

Special introductory offer* MiTron 
PASCAL complete in every way. Full 
floating points. 96 standard keywords 
and 32 non standard keywords Learn 
Pascal for only S49.95 . . Why spend over 
a hundred dollars for the same thing from 
someone else??? MiTron Pascal is nor- 
mally priced at $149.95. Model l/IH/4. 

Super! nput 

A great new machine language sub- 
routine that you can add to any Basic 
program to give it professional keyboard 
routines Go to anywhere on the screen 
and input or edit. 3 versions Model l/lll, 
Model 4, COCO. Disk only $19.95. 

SuperScratch Pad 

A great new program by Mark Feldman 
This is a all machine language information 
reference utility. . It has all the features 
of a data base, word processor, and note 
book. This is a screen based data base. 
You can organize each screen just the 
way you want it, simply and quickly. This is 
the easiest Data Base or information 
storing system available Sorts Prints. 
Help page, up to 1792 characters per 
record. Its GREAT. Instead of having 
many sheets of paper with notes on them 
you can put ft all into the Super Scratch 
Pad for only $49.95 

^.^A ^— si/ ^"'* 

SuperOi rectory 

Still the greatest disk catalog program on 
the market Reads any Dos i/m/4. 35-80 
track disks. Lets you add descriptive re- 
marks to the files Super Fast sort and f i nd 
routines List Price $49.95 Christmas 
Special $39.95. 

LIFETIME DISKS... $1.77 

All of our disks are guaranteed for the life 
of your Computer. If they ever wear out 
send them back for free replacement 

1 00 disks tingle side double density 1 7 7.96 
10 disks single side double density $19 95 
10 disks fHppys two sides double density $29 95 

CYCLE BILLING SYSTEM 

A great Accounts receivable program for 
the business man who must send out bills 
on certain cycles Monthly. Quarterly or 
Weekly. Keeps running totalsforyearand 
gives many reports Each program is set 
up special for you with drivers for your 
printer etc 

l/IM/4 Special Version for Model 4. only 
$199 95 



character into the A register and then 
back into a new location in memory. 

Lines 290-330 are similar to the last 
program. They increment HL, decre- 
ment BC, and test to see if BC equals 
zero. The entire block of code from 
lines 260-330 clears the screen by filling 
it with spaces. 

The second block of the program, 
lines 370-430, prints a message repeat- 
edly until it fills the screen. HL again 
points to the screen location. Now, 
however, DE points to the message in 
line 810. These lines load 1 byte of the 



"Keep experimenting 

and you will 

soon find that 

Assembly language is 

as easy as any 

other computer language. " 



message into the A register in line 390, 
then put that character into screen 
memory in line 400. 

Lines 410 and 420 introduce a new 
mnemonic, Call. This instruction is sim- 
ilar to Basic's GOSUB command in that 
it runs a subroutine. The Z80 saves the 
address of the next instruction before it 
runs a subroutine in order to know 
where to return when it completes the 
subroutine. Then it jumps to the sub- 
routine and performs those instruc- 
tions. 

The label INCMSG, which stands for 
"Increment Message Pointer," defines 
the first subroutine. The subroutine 
starts at line 640. This line increments 
DE, which points to the message. Once 
incremented, line 650 loads the new 
character to which it points into A. The 
command CP zero in line 660 means 
"Compare the value in A with zero. If 
the two values are identical, set the flag 
to Z to indicate a true compare; other- 
wise set the flag to NZ." 

The RET command in line 670 means 
"Return from this subroutine." Be- 
cause NZ follows it, it is a conditional 
return — the computer executes the re- 
turn only if the flag in the F register in- 
dicates Not Zero. Otherwise, in line 
680, the program points DE to the be- 
ginning of the message again, and then 
an unconditional return in line 690 
sends the Z80 back to the instruction in 
line 420. The entire subroutine INC- 
MSG depends on a zero byte at the end 

Continued on p. 86 



84 • 80 Micro, December 1983 



Beginner's 
Guide to 
Assembly- 
Language 
Terminology 

Simple Glossary 

This short glossary should help 
you learn the most common As- 
sembly-language terms. It's arranged 
in logical, rather than alphabetical, 
order. 

bit (binary digit) — Though some- 
times defined in terms of electronic 
signals, for present purposes a bit is 
the smallest amount of information 
on which the computer acts. It is a 
single 1 or zero digit and the building 
block for all computer notation. 

byte — A sequence of 8 bits. A byte 
is generally thought of in terms of its 
total value. With 8 bits you can ex- 
press any value between 0O00000OB 
and 1111111 IB. In normal decimal 
notation that's any value between 
and 255; in hexadecimal it's any 
value from 00 hex to OFF hex. 

word — In computer jargon, a 
word comprises 2 consecutive bytes, 
or 16 bits, and the computer handles 
it as a single value. The value of a 
word can vary from to 65535 (deci- 
mal), from 0000 hex to FFFF hex, 
from 00000000 OO00OO0OB to 
11111111 11111111B in binary. 

address — A one-word (2-byte) val- 
ue that denotes any byte of memory. 
Every byte of memory has a unique 
address, allowing you to find it easi- 
ly, and find and manipulate its value. 

LSB and MSB (least significant 
byte and most significant byte) — 
Since every word and every address is 
composed of 2 bytes, it is useful to 
have a name for each. The most sig- 
nificant byte is the high-order 
byte — the one that normally comes 
first. The other is the least significant 
byte. For example, in the hexadeci- 
mal word 3C42 hex, 3C hex is the 
most significant byte and 42 hex is 
the least significant byte. Because of 
the way the internal Z80 circuitry 
works, it usually stores 2-byte values 
in memory backwards, with the LSB 
before the MSB. 



ASCII code — Every possible vid- 
eo character, all video control char- 
acters, all graphics characters, and 
all special (Model III) characters 
have a unique 1-byte code that the 
video circuitry uses. The codes for 
letters and numbers are standard be- 
tween various computers, but graph- 
ics and special characters are not. 
The ASCII code for the character 1 is 
49 or 31 hex or 00110001B (rather 
than the seemingly obvious value of 
1, a complicating fact of life for ma- 
chine-language programmers). 

register and register pair — Reg- 
isters are special memory inside the 
Z80 chip. Each is either 1 or 2 bytes 
in length (8 or 16 bits). A register pair 
is two 8-bit registers that can work 
together as a single 16-bit register. 
There are 22 registers inside the Z80 
that your programs can manipulate 
directly. 

ROM (read-only memory) — ROM 
is unalterable, unchangeable memo- 
ry inside the computer that holds the 
resident Level I or Level II Basic in- 
side the Models I and III. This mem- 
ory doesn't change even when you 
shut off the computer's power, so 
your computer never "forgets" its 
knowledge of Bask. 

RAM (random-access memory) — 
Sometimes called read-and-write 
memory, or program memory, this 
memory is changeable. The com- 
puter uses it to store both programs 
and data. Unfortunately, it loses all 
of the information stored in it if the 
power to your computer is turned 
off. Unless you did some unusual 
home-brew modifications, your com- 
puter has 4K, 16K, 32K, or 48K bytes 
of RAM. (K stands for 1000, but in 
computer usage usually means 1024. 
16K, therefore, means 16384 bytes of 
RAM.) 

Status Flags 

The F, or flag, register contains 4 
commonly used status bits, each of 
which can direct conditional jumps, 
calls, and returns. 

Z and NZ— The zero flag is the 
most common. This bit indicates 
whether the result of a previous 
operation was zero or some other 
value. For example, if the result of a 
subtract or compare operation is 
zero, the flag shows zero. In source 
code, the condition Z means zero 
and NZ means not zero. The zero 

Continued on p. 96 



7l£ 



MASTER 

HORSE 

HANMCAPPER™ 

OVER 3 YEARS IN THE MAKING 
1st complete handicapping program 
that evaluates all variables 



liHAPMlC 
'ON j' ' ''■ 5 



ADAPTS TO ANY TRACK IN THE 
WORLD 

Quickly and easily by changing data statements 
relating to local track records / jockeys and trainers 

COMPLETE INSTRUCTIONS INCLUDED 



A Thoroughbred • 

Maiden 59 95 16K 
8 Quarterhorse • 

Maiden 59 95 16K 
C Pace Handicap 

39 95 16K 
O Tioroug"iOrtd Pace 

-i ,' .« 
f .-. * '• . Mr \ 

99 95 48K 



PROFESSOR JONES' FOOTBALL PREDICTOR 
PROF. FIX — This complete football analysis wilt predict: 
1) Overlays 2) Point Spreads 3) "Superplays" 
4) "Over/Under" Bets. FOR NFL/USFL/COLLEGE 

T D 

Specify Mod i/iii 19 96 24.95 



'RQf-ESSiONA.. SY57 L \ 



LNWII 



■■- ' . 
SOFTWARE 



:96K; W.-kagV 



(LNW Business Series) 

General Ledger / Payroll 

Accounts Payable 

Accounts Receivable 

Electric Spread Sheet" 
Electric Pencil™ — WP 

program 

Micro Term 1 " — modem 

program 
Chart Ex — graphics pkg 
LNW Basic 
DOS plus 
3.4 Micro 
Soft Basic 
CP/M 2.2 

ANO 
MASTER PACK 
HANOtCAPPER 
by Prof. Jones 




S2195 



PMI.L- " 

F'ui Whole System 



Jm Master Dog Analysts" 

Prof Jones' complete system will make your track 

days enjoyable $99.95 complete 

Jum Deluxe Korea Handlcapper '" 

Everything on program E. and Also 1) runs full 14 

horse field. 2) contains printer mode, 3) provides 

escape w/out data loss $129.95 complete 

,W» Maeter Bettor" 

a muet for all master handicappers using Prof Jones' 

systems $89.95 complete 

71% M IN MONEY" 
FOR 1983 



Kfl A CTC Q Complele G'eyhound Handlcapper 

dog ':,'.■" ■'■ '.'. 

ANALYSIS'" ; :"/ sQrw. 



Send check / money order / VISA / Mastercharge 
(Include expiration date) to: _ . . 

Prof. Jones 



1114 N. 24th SL 
Boise, ID 83702 



FAST y 449 

SHIPPING 

Or call and place 

order at (206) 342-6939 



TERMS FREE SHIPPING ALL SOFTWARE 
Add $6 .00 hardware / COO. Add $6.00 / Add 3 
weeks personal checks / Add 4.5% ID residents / 
Add $8.00 outside USA. / Pricee subject to change. 



80 Micro, December 1983 • 85 



Continued from p. 84 

of the message to mark its conclusion. 

Line 420 sends the Z80 out to another 
subroutine, INCVID (Increment the 
Video Pointer), and passes control to 
the instructions starting in line 730. First 
line 730 increments HL. Remember that 
the video memory is in address from 
3C00 hex to 3FFF hex. If HL equals any 
value in that range, it points at the 
screen and everything is okay. But when 
HL equals 4000 hex, it points to the first 
memory address past the screen. Then 
H holds the value 40 hex and L holds 
the value 00 hex. 

Line 740 loads the new value in the 
HL register into the A register for test- 
ing. Line 750 compares that value to 40 
hex in order to set the F register flags. 
You might expect the next instruction to 
be a conditional jump or return, but it 
isn't. Instead, the subroutine ends with 
an unconditional return (RET) command. 
However, the return command doesn't 
affect the F register, and so the flags re- 
main the same when the Z80 returns to 
the instruction in line 430, which does 
contain a conditional instruction. Very 
often in Assembly language, programs 
set the condition flags with one instruc- 
tion but don't use them until several in- 
structions later. Be sure that the instruc- 



tions between don't change any of the 
flags. 

Line 430 repeats the print block until 
the screen fills. Then the program con- 
tinues with the KEY block starting with 
line 470. Here, the value in memory lo- 
cation 3BFF hex loads into the A regis- 
ter, which is part of the keyboard mem- 
ory. This location holds a zero if you're 
not pressing any key; if it holds any 
other value, you're holding down at 
least one key. 

Unfortunately, loading a value into 
the A register doesn't set the condition 
flags. Therefore, line 480 ORs register 
A with itself. The value in A doesn't 
change, but the flags are set to indicate 
whether its current value is zero. If it is, 
the conditional jump in line 490 sends 
the Z80 back to KEY to wait for you to 
press a key. 

After you do so, the program enters 
the final block of the program, 
NOKEY. Another loop waits for you to 
release the key. Then, and only then, 
the program loops back to the Clear 
routine at the beginning, clears the 
screen, and starts all over. 

Lines 810 and 820 demonstrate two 
new pseudo-ops. In line 810, DEFM 
means "Store the text between the 




. . your Word Machine is the best bargain I have 
found in software in my last two years of personal 
computing. " 



PEL-TEK'S 

word. A ^ 
machine 2.0 



J.B., Tuscon, AZ 



A unique Word Processor for the TRSSOMod I /III 
32/48K Disk System — different in design, concept, 
function and price. 



only 



Order toll free 1-800-523 2445 
Add 12.00 postage and handling 

Your SECOND Word Processor shouldn't be a "me too" product but should be useful, 
economical, and truly different with features like these: 



great lor kids, wives 



Easy to learn Commands 
and nervous secretaries 

Graphics mode — to mix graphics with text on the 
same lines (printer support needed) 

On screen formatting — So what you type is what 
you print — including centering, word wrapping 
and tabbing 

Lowercase support - lor unmodified Mod I's 

Create and Edit Communications files, like those 
sent to/from CompuServe 



Exit to D.O.S. and re-enter without losing text — 
even after re-booting! 

< Embed any ASCII character -2 55 in text . Supports 
any printer's special teatures 

I Software forms control: Eject lines/ pages, print 
multiple copies, print-time entries 



Written in machine language 
And much more . . . 



printer independent 



Send serf -addressed, stamped envelope for FREE copy of Manual ($.37 postage, please) 
. . . CHRISTMAS SPECIAL - Free "JUMPY" Arcade game on disk 

PEL-TEK ■ P.O. Box 1026 ■ Southampton, PA 18966 

Toll free order line 1-800-523-2445, Ext. 19 
in Pennsylvania call 1-800-346-7511, Ext. 19 



Visa, Master Charge, check or money order 
Add $2.00 Postage and Handling ■ PA. residents add 6% sales tax 



••324 



single quotation marks in memory 
here." It loads whatever you type in in- 
to memory and sets the label MESSAG 
equal to the address of the first 
character. 

Finally, in line 820, DEFB means 
"store 1 byte of this value into 
memory." This instruction stores a byte 



Continued from p. 85 



flag generally checks the results of 
arithmetic and logical operations, 
and tests whether a single register 
decrement (DEC) results in zero. 

C and NC— The carry flag in- 
dicates whether a carry or borrow 
occurred that gives an arithmetically 
inaccurate answer. For example, if a 
program adds two 8-bit numbers and 
produces a 9-bit result, the carry flag 
holds the 9th bit. Also, rotate and 
shift instructions use the carry flag 
extensively. 

P and M — The normal arithmetic 
convention for working with signed 
numbers uses the highest-order bit to 
indicate the sign. Therefore 1 indi- 
cates a negative number and zero in- 
dicates a positive number. The sign 
flag shows whether the result of a 
signed arithmetic operation is plus 
(P) or minus (M). This flag is also of 
use with compare operations. 

PE and PO— The last testable flag 
has two functions. As a parity flag, it 
indicates whether a byte has an even 
or odd number of bits equal to 1 . PE 
then means even parity and PO 
means odd parity. The same set of 
flags can also indicate whether there 
is an overflow from an 8-bit or 16-bit 
addition or subtraction, in which 
case PO means no overflow and PE 
indicates that an overflow has 
occurred. 

N and H — There are two final 
flags in the Z80, N and H, which you 
cannot test directly by a program. 
The computer uses them in a special 
type of arithmetic called "binary- 
coded decimal" and generally ac- 
cesses them by the special DAA in- 
struction. 

Logical Operations 

The Z80 performs three kinds of 
logical operations: OR, AND, and 
XOR. Each has specific uses in As- 
sembly-language programs. 

Each logical command works on a 
single bit position at a time. For ex- 



86 • 80 Micro, December 1983 



of zero into memory to mark the end of 
the message. This is the zero byte that 
the subroutine INCMSG tests for. 
Never assume that any memory loca- 
tion holds some specific value. If your 
program looks for a byte of zero at the 
end of a message, you must put that 
byte there. 



ample, when the Z80 uses OR to 
combine two values, first it ORs their 
highest bits, then their next highest 
bits, and so on. Logical operations 
have no concern with the total values 
of the operands; bit patterns are the 
only concern. 

AND— When the Z80 ANDs, the 
result bit is a 1 only if both of the op- 
erand bits are l's. 

10010011 
AND 10100110 

10000010 

Use AND to mask out unwanted 
bits. For example, if you want to iso- 
late just the 4 lowest bits of an 8-bit 
byte, you can AND that byte with 
00001111. The result copies the 4 
lowest bits of the original byte into 
the result and sets the 4 highest bits to 
zero. 

OR— The result bit of 2 ORed bits 
is a 1 if either or both of the operand 
bits are l's. 

10010011 

OR 10100110 

10110111 

OR merges two values together 
and forms bit records in which each 
bit in a byte has an individual 
meaning. 

XOR (Exclusive OR)— The result 
bit of 2 XORed bits is a 1 if either, 
but not both, of the operand bits 
is a 1. 

10010011 

XOR 10100110 

00110101 

Programs use XOR less often than 
OR and AND. Its major use is in 
clearing the A register and flags with 
the command XOR A. 

An interesting fact about the XOR 
operation is that it is cyclic. For exam- 
ple, if you XOR A and B, and then 
XOR the result by B again, the second 
result is the original A value. ■ 



Be sure to try a test assembly of List- 
ing 3 before you save the source code 
and assemble the program. With a pro- 
gram of this length, you can easily make 
a typing mistake that you must correct 
before the program runs correctly. 

Once you get this program running, it 
demonstrates the speed of machine lan- 
guage. When you press and release a 
key, you see a very brief blink on the 
screen. In that time, it prints a space in 
every screen location and prints the 
message again until the screen is full. 
Even though it must print 2,028 charac- 
ters, it all happens in a flicker of the 
screen. 

Learning More 

No one can leam any computer lan- 
guage from one article. So far you can 
use only a few mnemonics and a few of 
the many types of program logic. You 
are on your way, but still have much to 
learn. 

You can do many things to develop 
your Assembly-language programming 
skills. First, read Assembly-language 
programs in magazines carefully and try 
to follow the logic of each. Most maga- 
zine programs have a lot of remarks to 
help you understand what they do. 



Second, read through the list of Z80 
mnemonics (there is an excellent list 
with complete explanations in the Series 
1 manual) and try to imagine how you 
can use each variation of each instruc- 
tion. Also, you might read one of the 
books available on beginning Assem- 
bly-language programming. William 
Barden's TRS-80 Assembly- Language 
Programming, available from Radio 
Shack, is one of the easiest to read. 

Third, if you have some short ma- 
chine-language programs available in 
your library, try to disassemble one and 
understand what it does without the 
benefit of remarks. Don't try to disas- 
semble something as long as Scripsit or 
VisiCalc; such complexity will com- 
pletely overwhelm you. 

Most important, write your own As- 
sembly-language programs. The more 
you write, the easier it becomes. Keep 
trying, keep writing, keep experiment- 
ing and you will soon find that Assem- 
bly language is as easy as any other 
computer language. ■ 

Write to Hardin Brothers at 280 
North Campus Ave., Upland, CA 
91786, or contact him through Com- 
puServe. His e-mail address is 
72165,735. 



'£U*hl^ki! 



MX-80 and RX-80 OWNERS 



MICRO-GRIP FRICTION FEED 

Add inexpensive friction feed to your MX 80 or 
RX-80 Easily installed with screwdriver, no solder 
inq Does not disturb tractor feed Also fits 
printers based on Epson design such as IBM PC. 
Commodore and HP Dot Matrix printers. 

Wt. 1 lb. ONLY $39.95/ea. 




EPSON MX 70'80 
EPSON MX 100 
RS Daisy Wheel II M/S 
RS LP I. IV (Zip Pack) 
RS LP I. II. IV (Cart ) 



~ CARTRIDGE RIBBONS FOR 

S5.00/ea. -. /T" T\ RS LP III. V 

9.75/ea. [?^\ /%T^~f \ RS LP VI. VIII 
5.75/ea. 
2.75/ea. 
5.85/ea. 




RS DMP 400 
DIABLO Hytype II 
OKIDATA 84 



M/S 



S5.85/ea 
7.00/ea 
5.50/ea 
4.50/ea 
5.00/ea 



PRESSURE SENSITIVE 
LABELS 

ONE ACROSS 3 1/2" x 15/16" 
ONLY S2.70/M 

Order in increments of 5.000 



COMPUTER PAPER 

MINI PACKS 

9 1/2 x 11" Blank. 20 lb 1 pt.. 1000/ctn 

(Extra fine perforations r & I.) ONLY $16.25/ctn. 

14-7/8" x 11" 1/2" Green Bar. 15 lb 1 pt . 1500idn 

ONLY $25.00/ctn. 

STANDARD PACKAGING 

9 1/2 x 11" Blank, 15 lb 1 pt. 3300/ctn. ONLY $26.00/ctn. 

14-7/8" x 11" 1/2" Green Bar. 15 lb 1 pt.. 3500/ctn 

ONLY $40.00/ctn. 



ALL COMPUTER SUPPLIES AT DISCOUNT PRICES 

TERMS AND CONDITIONS 

We require a minimum order ol 110 00. not including shipping charges Prices effective 7/1/83 and subject lo 
change without notice To keep prices competitive we operate on cash basis Credit extended to Federal agen 
cies. but an other institutions and individuals send payment with order, our prices DO NOT include shipping No 
COD orders accepted We ship via UPS or motor freight Include street address, we don't ship to P O boies 
Freight charges added to credit card purchases No merchandise returned without prior written authorization 
Irom us Merchandise ordered in error or not wanted is subtect to 2V'» restocking charge and limited to merchan. 
dise credit only 




Send for our Free Brochure of Computer Supplies. Ask for Catalog No. DP-50 

PC! BILL COLE ENTERPRISES. INC. - 180 

P.O. BOX 60 • DEPT. 80/12 WOLLASTON, MA 021704060 617-963-5510 
For Credit Card Orders ONLY! Call Toll Free 1-800-22&-8249 



I 



s See List of Advertisers on Page 291 



80 Micro, December 1983 • 87 



UTILITY 



LOAD 80 



Assembly-Language Disk I/O 



by David G. Haan 



w 



ith a knowledge of Assembly-language disk 
input/output, you can make your programs run 
more efficiently and solve most I/O problems. 



Assembly-language disk input/out- 
put (I/O) is a complicated and advanced 
technique, but understanding it allows 
you more creativity in programming 
and more knowledge in troubleshooting 
and repairing disk I/O problems. 

This article deals with the use of the 
Model III TRSDOS disk I/O and ex- 
plains the subroutines used in reading 
and writing disk files. Included is a 
demonstration program, TESTFILE/ 
TST, that chains these ROM routines 
and shows how they manipulate disk 
files. 

Within the text, I explain how to use 



each of the routines and what you can 
expect on entry and exit. I also point out 
some errors in Radio Shack's explana- 
tion of these routines. You should have 
a copy of the Disk System Owner's 
Manual for reference. 

In order to see the results of each rou- 
tine, I provide a non-destructive exit 
routine so you can examine the areas in 
memory that are affected. I list the rou- 
tines alphabetically in the first section of 
EQUs. 

I don't intend here to teach coding 
practice, but merely to demonstrate 
steps necessary to use each of the rou- 



Storage 


Bytes 


Areas 


Used 


BUFFER 


256 


UREC 


less 




than 




256 


DCB 


64 


KBLNBF 


16 


DIRBUF 


24 



Description 

Operating system uses this as a data storage area during a disk read or 
write. It must be 256 bytes long since all reads and writes are done one 
sector at a time. 

A user buffer that locates all the data you want to write to or read 
from disk. The system moves data between UREC and Buffer if the 
logical record length is less than 256 bytes. 

Data control block contains information used by the system to read or 
write data from or to the disk. For a layout of the DCB, see Table 3 or 
the Disk System Owner's Manual. 

Buffer used to hold data entered via keyboard. Used in conjunction 
with system routine KBLINE. 

This is where RAMDIR places a single directory entry. The format of 
this buffer is shown in Table 4 or under RAMDIR in the Disk System 
Owner's Manual. 

Table 1. Storage areas and buffers. 



tines. At the end of this article, you 
should have sufficient knowledge to 
write Assembly-language disk I/O 
routines. 

I will use the Program Listing 
(TESTFILE/TST) as a demonstration 
program throughout this article. If a file 
by the name of TESTFILE/TST exists 
on the disk you want to use, you should 
rename it. 

Table 1 lists the major storage areas 
and buffers TESTFILE uses for system 
routines and their functions. 

The program sets up registers before 
each call to a system routine. This is not 
always necessary since some of the reg- 
isters used remain unchanged when re- 
turning from a previous routine. It is 
done, however, to indicate the informa- 
tion required prior to calling a system 
routine. 

Following along with the Listing 
helps you see what registers the rou- 
tines need, and what they need to 
contain prior to executing the routines. 
Table 2 shows the condition of the regis- 
ters prior to and after each routine's 
execution. 

Program Operation 

The demonstration program starts by 
saving the HL register (see the Listing). 
The HL register contains the address of 
the first non-blank character following 
the last command you entered under 



The Key Box 

Model m 
32KRAM 
Assembly Language 
TRSDOS, Editor/Assembler, 
Disk Drive 



88 • 80 Micro, December 1983 




For users of Apple, IBM, TRS/80, Atari, Commodore, Texas Instruments, and other brand name computers: 

Here's the easiest way to buy quality 
diskettes at discount prices 



Now you can get error-free double density diskettes by 
IBM, Control Data. Maxell and Verbatim delivered to your 
door. For some of the lowest prices around 

You save because we ship huge volumes of magnetic 
media in boxes of 10. 

To order, use this form.. 



For even faster service, call toll-free. 

1-(800)-FLOPPYSor 

®1-(800)-521-5700 
Michigan • 1-800-482-4770 
Canada • 1-800-265-4824 
Alaska/Hawaii • 1-800-821-9029 

ALL MAJOR CREDIT CARDS ACCEPTED 

Shipping & handling F OB Southfield 
Transaction Storage Systems Inc , Southfield. M 



EXPECT A MIRACLE 



Size 


?5il 


Qty. 


\ferbatim* 


Qty. 


Control 
Data 


Qty. 


maxell 


Qty. 


5-VSS 

5-%" DS 

8"SS 

8'DS 


2490 
39.90 
24 90 

39 90 




23.90 
34.90 




19.90 
29.90 
19.90 
29.90 




28 90 
41.90 




Sub 
Totals 


$ 


$ 


S 


$ 


Name 

Compa 

Address 


Title 




, y 





City 

□ AMEX 

Card # 



State 



□ MASTERCARD 



Zip 



□ VISA 



Exp. Date 



Shipping and handling 1-6 boxes add S4.00 per order 

7 or more add $6.00 per order 

Clip and mail today to: Transaction Storage Systems, Inc., 

22255 Greenfield Road, Southfield, Ml 48075 



TRSDOS READY. Keep this fact in 
mind for later reference. 

Then the program checks to see if this 
is your initial entry into this program. It 
does so by looking at a storage location 
called Entry that contains the address of 
the location at which you reenter the 
program (if you have reentered it). 

If the reentry address is between 8000 
hexadecimal (hex) and 8FFF hex, Entry 
uses it as the reentry address. The pro- 
gram places the contents of Entry there 
with a routine called Look. Look is the 
non-destructive exit routine the pro- 
gram calls each time you execute a sys- 
tem program and provides a place in 
memory where you can look to see the 
effects of the routine's execution. 

When you run this program for the 
first time, it clears the storage areas 
from Buffer to LKBUF. This makes it 
easier to see what data the system rou- 
tines put into memory. Also, the pro- 
gram puts dummy data into the area 
called UREC. The program then writes 
this data to disk. Following this, a mes- 
sage indicates the start of the program. 

The program then prompts you for 
the name of a file to which you want to 
write data. This is where you type in the 
filespec you want used in the disk's data 
control block (DCB). The code that 
asks for the filespec starts at the label 
GETSPC. With the B register set to 15, 
and the HL register set to the keyboard 
input buffer (KBLNBF), the system 
routine KBLINE lets you enter up to 15 
characters for a file name. 

Once you do so and hit the enter key, 
the system's Syntax routine checks to 
see if your filespec has the correct syn- 
tax. If it does, the subroutine duplicates 
the filespec in the DCB. Syntax uses 
the HL register, which points to the file- 
spec in the keyboard input buffer 
(KBLNBF), and the DE register, which 
points to the DCB. 

On return, Syntax sets or clears the 
zero flag, depending on whether or not 
the filespec syntax was good. If it is, the 
subroutine sets the zero flag. If not, it 
resets the zero flag and the program 
prompts you for the filespec again. 

To check this system, enter any file 
name preceded by a blank such as 
BADSPEC. Press the enter key. Since 
this enters a bad filespec (the first char- 
acter is a blank), the program displays a 
message asking for a filespec again. 

You might think that since the file 
name must begin with an alpha charac- 
ter and have eight or fewer characters, 
Syntax would check this. It doesn't. It 
does check to see that the filespec starts 
with a blank, but Syntax allows the file 
name to start with a number and simply 
90 • 80 Micro, December 1983 



truncates it to eight characters. 

Also, if you use an extension and 
password, Syntax truncates the exten- 
sion to three characters, the password to 
eight characters, and doesn't return an 
error. If you need to check for the accu- 
racy of your filespec, better do your 
own checking rather than rely on the 
Syntax routine. 

Now enter TESTFILE as a file name 
and press the enter key. Since this file 
name has the correct syntax, the subrou- 
tine copies it to the DCB and the local 
routine Look displays a message asking 
you if you want to look at the results. If 
you answer with anything other than Y, 
the program continues execution, so 
answer with a Y. This brings you into 
Debug. 

You can go directly to Debug from the 
demonstration program by using the 
system routine called COMDOS. COM- 
DOS executes any command you can ex- 
ecute while in TRSDOS READY from a 
user program. The HL register must 
point to the address which has the com- 
mand you wish to execute. The program 
then executes a jump to COMDOS. 

The Look routine points the HL reg- 
ister to the label EXECUT in the mes- 
sage area of the listing, which contains 
the program name Debug followed by a 
carriage return. Once in Debug, you can 
use the command D to look at both 
KBLNBF and the DCB. 

To view KBLNBF, enter its address 



found in the section of equates at the 
beginning of the program under Stor- 
age Locations. In KBLNBF, note the 
file name TESTFILE followed by ODH, 
a carriage return. Now look at the 
DCB. You can find this address listed in 
the section of equates also. 

Notice that the file names in 
KBLNBF, which is now below the 
DCB, and the DCB are the same except 
for one thing. The file name TESTFILE 
in KBLNBF is followed by ODH while 
the file name in the DCB is followed by 
03H. The TRSDOS Disk System Own- 
er's Manual says the file name in the 
DCB is followed by ODH. As you can 
see, this isn't true if you use the Syntax 
routine. 

To return to the demonstration pro- 
gram, press the Q key to exit Debug and 
type in the name under which you as- 
sembled the demonstration program. 
This returns you to where you left off. 
The program displays a message on the 
screen indicating the location at which 
you reentered the program. In fact, 
each time you reenter the program, a 
message indicates the reentry point. 

You should reenter the demonstra- 
tion program at the label Extend. You 
can now enter a three-character exten- 
sion that the program adds to your file 
name in the DCB via the PUTEXT rou- 
tine. Of course, you could have added 
the extension to the file name when you 
originally entered the filespec, but the 











Registers 






Routine 




AF 


EC 


DE 


HL 


IX 


IY 


BKSPC 




Yes 


No 


No 


No 


No 


No 


CLOSE 




Yes 


No 


No 


No 


No 


No 


CMDDOS 




N/A 


N/A 


N/A 


N/A 


N/A 


N/A 


CMDTXT 




N/A 


N/A 


N/A 


N/A 


N/A 


N/A 


COMDOS 




N/A 


N/A 


N/A 


N/A 


N/A 


N/A 


DIVIDE 




Yes 


No 


No 


Yes 


No 


No 


DSPDIR 




Yes 


Yes 


No 


Yes 


No 


No 


ERRDSP 




Yes* 


No 


No 


No 


No 


No 


FILPTR 




Yes 


Yes 


No 


No 


No 


No 


INIT 




Yes 


No 


No 


No 


No 


No 


JP2DOS 




N/A 


N/A 


N/A 


N/A 


N/A 


N/A 


KILL 




No 


No 


No 


No 




No 


OPEN 




Yes 


No 


No 


No 


No 


No 


POSEOF 




Yes 


No 


No 


No 


No 


No 


POSN 




Yes 


No 


No 


No 


No 


No 


PUTEXT 




Yes 


Yes 


No 


Yes 


No 


No 


RAMDIR 




No 


No 


No 


No 


Yes 


No 


READ 




Yes 


No 


No 


No 


No 


No 


REWIND 




Yes 


No 


No 


No 


No 


No 


SYNTAX 




Yes 


Yes 


No 


Yes 


No 


No 


VERF 




Yes 


No 


No 


No 


No 


No 


WRITE 




Yes 


No 


No 


No 


No 


No 


Yes = registers have changed. No 


= registers have not changed. N- 


A = no 


applicable. 


Only the primary 


registers change; 


the demonstration program doesn't use the alternate set. 


• Only the flag register changes. 
















Table 2. Regisi 


er conditions after routine execution. 







PRODUCTS 



AND SERVICE 
TOO GOOD TO 




[OH THE 



flfo-eo 



® 



SOFTWARE 

NEWDOS80/Vers.2 

COMREF for Newdos80 

LDOS5.1 

DOSPLUS3.5 

DOSPLUSIV 

6.0 Plus 

DOSPLUSII 

Micro Clinic -Mod 1 

MicroClinic-Mod3 

Super Utility + 3 

Trashman 

Faster 

R.PM.-DiskTimer 

Basic Editor by C.A.U. 

M-ZAL Release Two 

by C.A.U. 
LDOS Utility Disk #1 
The Toolbox for LDOS 
EDASIV 

The BASIC Answer 
Dot Writer 3.0 
Dot Writer 3.0 w/letterset 
Dot Writer Font Disks 
GEAP 

Maxi Manager 
MaxiMail(Mod30nly) 
Maxi Stat 
MaxiCRAS 
Powermail Plus 
The Home Accountant 
Tallymaster 
MicrotermMod1,3,or4 
Omniterm Mod 1/3 
OmnitermModll 
LYNX Modem 
LN W Doubler 5/8 w Dos + 
LNWDoubler5/8w/oDos 
LNWSystem Expansion I 
SBSG Accounting Modul 

Model 1or3 

Model 2 
Verbatim Disk 5" SS/DD 



es 



$124.95 

13.95 

109.95 

119.95 

119.95 

39.95 

195.00 

24.50 

28.50 

59.95 

34.50 

24.95 

22.50 

24.75 

119.50 

42.50 

59.95 

84.95 

59.95 

66.50 

84.50 

23.50 

38.50 

119.50 

64.95 

164.95 

79.95 

129.00 

62.95 

62.95 

64.95 

79.95 

139.95 

209.00 

194.95 

159.95 

329.95 

175.00 

250.00 

26.50 




WORD PROCESSING 



ISeui^crijtt 



Newsc 
Newsc 
Newsc 
Newsc 





pt7.1 
pt 7.1 plus Labels 
ptDW Proportional 
pt File Converter 



99.95 

114.95 

39.95 

19.95 



Electric Webster + Corrections 
Elec. Webster Grammar 
Elec. Webster Hyphenation 
Lazy Writer 3.4 
LeScript Mod 
Zorloffll 



119.50 

39.95 

39.95 

139.95 

109.95 

58.95 



GAMES 

tape disk 

Attack Force or Cosmic Fighter 1 2.75 1 5 95 

Stellar Escort or Galaxy Invasion 12.75 15.95 

Meteor Mission II or Robot Attack 12.75 15.95 

Defense Command or Super Nova 12 75 15.95 

Weerd 1595 

Forbidden City or Forbidden Planet 29.95 

Hyperlight Patrol 1550 

Defiance (Disk Only) or Panik 1550 19.50 

Devil's Tower 1 2 75 15 95 

Alien Defense or Bounceoids 13.95 17.25 

Sneak Thief 17 25 18 95 

Frogger 17 25 19 95 

Reign of Red Dragon or Stratos 19 95 19 95 

Oouble Feature 31.95 

Caterpillar or Scartman 13 95 17.25 

Armoured Patrol or Eliminator 19.95 19 95 

Rear Guard or Sea Dragon 1995 19.95 

Adv. Tripac 1-3, 4-6. 7-9, or 10-12 31 75 

Adventure International Hint Book 6 95 



WRITE FOR OUR 
FREE CATALOG 



6.0 PLUS 

Enables the novice and expert alike to increase 
their programming speed and ability above the 
limits created by TRSDOS 6.0. 6.0 Plus provides 
features too numerous to mention including a 
utility to insert keyword spaces in Model 3 
programs. 

$39.50 

DOSPLUS IV 

Experience the full power of your Model IV with 
DISPLUS IV. 100°.'o program and media compat- 
ibility with TRSDOS 6 eliminates conversion 
problems. 

$119.50 

LNW80 II COMPUTER 

Includes Dosplus 3.5. CP'M 2.2. Microterm, 

Electric Pencil. Chart-Ex. LNWBasic. and a full 

accounting system including general ledger, 

accounts receivable, accounts payable, and 

payroll. 

$1,599.00 



24-Hni.r S" pping 'or Iterrs r S'.oo 

Free Use of Credit Cards 

Large Selection-Call for Items Not L 



isted 



Toil Free Order Line 

Free Shipping on Orders over $100 

Friendly Honest Reliable Service 



We accept Visa, Maste' Card, check, cash, money 
O'Ce's and COD In the 48 continental States add S2.50 
for UPS standard shipping, we'll pay shipping if your 
o'der ib over S100 Alaska and Hawaii orders a r e 
charged actual shipping charges COD orders are 
charged an extra $2.00 and require cash or ceT>f ed 
checx on deliver POs accepted upon approval. 

When ordenng oy mail, include your telephone num- 
ber cred 1 card information compute' model, memory 
size, and number of drives. Colorado residents add 
aporopnate sales tax (6Vi% n Denver) 

Pr ces a'e subject to change without notice 




| Applied Microsystems, Inc. 

612 Washington, Denver, CO 80203 -*» 



toll "r n ee w 1 '800-468-4474 

IN COLORADO CALL 861-9250 



UOS is a TM of Logical Systems, Inc 



►ZJU. is a TM of CAU. Inc 



TRS-80 is a TM c! Tandy Corp. 



KWSCIIPT is a TM of Pro-soft 



extension is being requested here to 
demonstrate the routine. Enter TST as 
the extension. 

To work properly, PUTEXT re- 
quires that the HL register point to the 
location of the extension and the DE 
register point to the DCB. The demo 
program then calls PUTEXT. There are 
no exit conditions to check for, so the 
program calls Look so you can again 
check the results in KBLNBF and the 
DCB. In the DCB, the filename now 
appears as TESTFILE/TST followed 
by 03H. Now return to the demonstra- 
tion program. 

You should have reentered at the 
label OPNF1L. Here the program at- 
tempts to open the file using the file- 
name TESTFILE/TST. If the file had 
already existed, it would simply have 
been opened, but since the file doesn't 
exist, the program displays the message 
File Not Found. You can look at the 
DCB and see that nothing happened. 

Before going on, look at the local 
routine ERPROC which contains the 
system routine called ERRDSP. You 
can find this in the Listing under the 
banner Error Display Processor. 
ERRDSP is a system routine that dis- 
plays an error code or expanded error 
message on the CRT. It then either re- 
turns to the user program, or to TRS- 
DOS READY. Setting bit 6 masks the 
error code that is in the A register. The 



routine spells out the full error message. 

If bit 7 is set, control returns to the 
user program. How you process an er- 
ror is up to you. You can abort the pro- 
gram, try again, skip processing, or 
whatever you feel is appropriate. Now 
return to the demonstration program. 

You should reenter the program at 
label NEWFTL. This initializes a new 
file and you can again look at the DCB. 
The parameters that the HL, BC, and 
DE registers pass are the same whether 
you open or initialize a file. 

In this case, the HL register contains 
the address of a 256-byte buffer called 
Buffer where the operating system does 
the actual writing to and reading from 
the disk. The DE register must point to 
the DCB, and the B register must con- 
tain the logical record length. 

A physical record is 256 bytes long or 
one disk sector. You can subdivide the 
physical record into smaller segments 
called logical records. A logical record is 
a record of from 1 to 256 bytes long. In 
the EQUs, I define the logical record 
length (LRL) as 128 bytes long. 

If you define a logical record as 64 
bytes long, four logical records com- 
prise one physical record (4x64 = 256). 
However, if a logical record does not 
evenly divide into a 256-byte physical 
record (such as a logical record of 50 
bytes), the system spans physical rec- 
ords to keep your logical records intact. 



Byte 


Contents 


0-2 


Reserved for system use. 


3-4 


Address of system I/O buffer. (BUFFER) 


5 


Offset into the current physical record of the end of the last logical record read or 




written. 


6 


Drive number on which the file exists. 


7 


Reserved for system use. 


8 


End Of File offset to the end of the last logical record. 


9 


Logical record length. 


10-11 


The next physical record where a read or write will take place. 


12-13 


The last physical record in the file. 


14-63 


Reserved for system use. 




Table 3. Data control block layout. 



Byte Contents 

0-14 File name/ext:d left justified and padded with spaces. 

15 Protection level of file. to 6. 

16 End Of File offset to the end of the last logical record in the last physical record. 

17 The logical record length. 

18-19 The last physical record number in the file. LSB is in byte 18 and the MSB is in 

byte 19. 
20-21 The number of granules allocated to the file. LSB is in byte 20 and the MSB is in 

byte 21. 
22-23 Two plus marks indicating the end of the directory. 

Table 4. Directory layout in RAM. 



It's possible to have a logical record 
equal in size to the physical record (256 
bytes), but this requires additional pro- 
gramming. I'll discuss how the data 
moves to and from disk and the special 
requirements for 256-byte logical rec- 
ords later. 

For now, answer Y to the question on 
the screen and take a look at the DCB. 
Notice that the program file name in the 
DCB no longer appears. Instead, the 
DCB's layout is as shown in Table 3. 
Bytes 3 and 4 of the DCB point to the 
256-byte buffer called Buffer. Remem- 
ber, the low order byte appears first, the 
high order byte second. 

Byte 5 represents the offset to the de- 
limiter at the end of the current physical 
record. Byte 6 indicates the drive num- 
ber on which the file resides. Byte 8 is 
the end-of-file offset of the last delimit- 
er in the last physical record. Byte 9 
shows the logical record length, and 
bytes 10 and 1 1 display the next physi- 
cal record number with bytes 12 and 
13 giving the ending physical record 
of the file. 

Figures 1 and 2 show examples of 
how to interpret the contents of bytes 5, 
8, 10, and 11 of the DCB. Figure 1 
shows two physical records, or sectors, 
of 256 bytes each, comprising four 
128-byte logical records. 

Suppose you just read the first logical 
record (record zero) of physical record 
zero. Byte 5 of the DCB now contains 
80 hex and bytes 10 and 1 1 of the DCB 
contain 0000 hex. The DCB now points 
to the first byte of the next logical 
record. 

Logical record zero goes from bytes 
hex to 7F hex, and logical record 1 goes 
from bytes 80 hex to OFF hex. Byte 5 of 
the DCB actually contains the first byte 
following the end of the last logical 
record read or, for that matter, the last 
one written. 

Figure 2 is similar to Fig. 1 (now in 
the second logical record of physical 
record zero). Here, byte 5 of the DCB 
contains hex, and bytes 10 and 1 1 of 
the DCB contain 0001 hex. The DCB 
now points to the first byte of logical 
record 2, the first logical record of phys- 
ical record 1. 

Byte 8 of the DCB is similar to byte 5 
of the DCB, but only applies to the last 
physical record in the file. It points to 
the first byte following the last logical 
record in the last physical record. 

In Fig. 2, if the last logical record in 
the file is logical record 2, byte 8 of the 
DCB contains 80 hex. This is actually 
the first byte of the next logical record, 
if it existed. You should note that the 
value in byte 8 need not always point to 



92 • 80 Micro, December 1983 




3 WAYS TO MAKE 

YOUR COMPUTER 
WORK HARDER, 

and better, and faster . . . 



THE BI-TECH HARD DISK 
SUB SYSTEM 



Combining proven technology with innovative 
Bi-Tech design, the highly reliable 5.25-inch 
HARD DISK DRIVE SUBSYSTEM fulfills the 
fundamental requirements of a peripheral stor- 
age device, which provides mass 
storage, high speed data transfer, and 
removable backup capability. 





THE BI-TECH 
REMOVABLE CARTRIDGE 
HARD DISK DRIVE 

The Bi-Tech REMOVABLE CARTRIDGE 
used with the REMOVABLE HARD DISK 
DRIVE is small, lightweight, and portable. 
Yet, it provides a total storage capacity of 
5.0 Mbytes. Pre-recorded embedded servo 
information provides tor the most reliable 
cartridge interchangeabilitv and data in- 
tegrity in the industry. 





THE BI-TECH 
MULTIPLEXER 



joining the Bi-Tech MULTIPLEXER with 
your hard disk subsystem enables vou to 
share hard disk storage with many comput- 
ers. All users can share programs and data 
present on the hard disk, thus affording a 
true data base to all of its users. Each com- 
puter can run completely independent of 
the other computers. 

^300 



Dealer inquiries welcome. 
Prices subject to chanRe 
NYS residents add tan. 



Orders Only 

800-645-1 165 American l.p^s 

N.Y. Call (516) 567-8155 DinersClub Mastercard 

(516) 567-8155 (voice) (516) 588-5836 (modem) 






B.T. Enterprises 
Dept.1L 
10CarloughRd. 
Bohemia, N.Y. 11716 

B.I tnlerpfises is a division ot 
Bi-Tech Enterprises trtc 



See Ust ol Advertisers on Page 291 



80 Micro, December 1983 • 93 



the beginning of the next logical record. 
It can point anywhere within your last 
logical record. It is meant to point to the 
first byte following the actual end of 
data. 

To make sure you put the correct 
end-of-file (EOF) offset in the DCB, 
you must calculate and put the actual 
EOF offset into byte 8 of the DCB. One 
way you can experiment with this is to 
use this program with different logical 
record lengths and modify the end-of- 
file offset in byte 8 of the DCB just 
before closing the file. To keep it sim- 
ple, don't do it here. Now return to the 
demonstration program. 

Write Operation 

Once you return from looking at the 
DCB, execute the code at the WRTFIL 
label. The system needs two pieces of 
data to write a record to disk. The HL 
register must point to the buffer that 
contains the data you want to save, and 
the DE register must point to the DCB. 
The program sets the HL register to 
point to UREC, which contains some 
sample data, while the DE register 
points to the DCB. 

When the program invokes the Write 
subroutine, it moves 128 bytes (the logi- 
cal record length) from UREC to the 
area called Buffer. If the write is suc- 
cessful, it sets the zero flag. If an error 
occurs, the subroutine resets the zero 
flag and returns an error code in the A 
register for display via ERPROC. 

As long as the logical record length is 
fewer than 256 bytes long, the system 



moves data from the user buffer UREC 
to the I/O buffer called Buffer and vice 
versa. 

If you set the logical record length to 
256 by opening a file with the B register 
equal to zero, you must move the data 
between UREC and Buffer yourself. 
This means that for each Write com- 
mand, you must move the 256 bytes of 
data you want written to Buffer before 
the program calls the Write routine. 
Also, after each read, you must move 
the 256 bytes from Buffer to wherever 
you want it to go as its final destination. 
When the logical record length is 256 
bytes, Read and Write commands ig- 
nore the HL register. 

Once you complete the first write of . 
the logical record of 128 bytes, answer 
Y to the question on the screen and look 
at Buffer and the DCB. If you look at 
the DCB, you see that the next physical 
record number at bytes 10 and 11 is 
zero. Also, the offset to the delimiter at 
the end of the current physical record at 
byte 5 is 80 hex, indicating that the pro- 
gram successfully completed one write. 
Records start at number zero with two 
80 hex logical records per physical rec- 
ord. Looking at Buffer, you can see the 
dummy data. 

Return to the demonstration pro- 
gram to continue with the next write at 
label WRT002. The program now ini- 
tiates a second disk write, but here the 
HL register points one logical record 
length (1 LRL) into UREC. This occurs 
so the system can pick up the next block 
of data. 



PHYSICAL RECORD 
/\ 



\Z 



PHYSICAL RECORD I 
/\ 



LOGICAL 
RECORD 



LOGICAL 
RECORD I 



Y 



BYTE «H 



\ 



LOGICAL 
RECORD 2 



LOGICAL 
RECORD 3 



BYTE 80H 



BYTE 0FFH 



Figure I. Byte interprets. 





PHYSIC 


AL 

/ 


. RECORD PHYSICAL RECORD 1 






Y v 






LOGICAL 
RECORD 


; LOGICAL 
; RECORD 1 ; 


| LOGICAL i 
; RECORD 2 ! 


! LOGICAL 
j RECORD 3 








\ BYTE 80H / \ BYTE 0H / \ BYTE 80H 
BYTE 0FTM / BYTE 7FH / 

Figure 2. Byte interprets. 





Make sure the HL register points to 
the right area of memory for the data 
you want transferred. If the write is suc- 
cessful, the program transfers a sector 
of data, or 2 LRLs, from Buffer to the 
disk. Again, you can look at the DCB 
and buffer areas for verification. 

Now the DCB shows that the next 
physical record number at bytes 10 and 
1 1 is 1 and the ending physical record at 
bytes 12 and 13 is also 1. The offset to 
the end of the current record at byte 5 is 
zero, indicating that the program has 
written two logical records. 

After returning to the demonstration 
program at label WRT003, the program 
completes a third write, after which you 
may look at the DCB. Notice that the 
last half of the buffer contains junk. 
The program clears out Buffer after it 
writes a sector and loads it with data of 
its own choosing from somewhere in the 
system. 

Now, return to the demonstration 
program at label WRT004 for a fourth 
disk write. Following this, at label 
WRT005, the program makes a fifth 
write. After each of these writes you 
may look at the DCB. 

Since the fifth write is only half of a 
new third sector, the DCB shows that 
the next physical record is 2 (the third 
physical record), the ending physical 
record is 2, and the offset is 80 hex at 
byte 5, for a total of five 80 hex-byte 
logical records. 

In the Disk System Owner's Manual 
the explanation of the next record num- 
ber (NRN) as well as those of Read and 
Write operations, say that after each 
Read or Write the NRN increments by 
one. This is true only if the logical 
record length is 256 bytes long. If the 
logical record length is 128 bytes as in 
this case, the NRN increments only 
after two reads or writes. 

You should now return to the pro- 
gram to close the file. You enter at label 
CLOSFL. To close a file, you need to 
pass only one parameter to the routine 
called Close. This is the address of the 
DCB in the DE register. When you close 
the file, the program makes a final write 
to the disk, keeps track of the end of the 
last logical record, and updates the 
DCB and the disk directory. 

If you close the file successfully, the 
program sets the zero flag. If not, you 
need to process the error. Get into De- 
bug and look at the DCB. As you can 
see, the file name, including the number 
of the disk drive where the file is locat- 
ed, again appears at the beginning of 
the DCB. If you call the directory, no- 
tice that the file has an LRL of 128 
bytes, five logical records, three physi- 



94 • 80 Micro, December 1983 



Three Good Reasons To Buy Software 
From Mumford Micro Systems: 

1. Cy/USllty. Mumford Micro has been selling software for the TRS-80 since 1978. Nobody survives in this competitive 
market for that long on poorly uritten software. Our best references are thousands of satisfied and repeat customers, but if 
you haven't spoken to one of them, our 10 day money-back guarantee might secure your confidence. Our rate of return? 
Less than one in 200. 

JL. PriC6. Quality software at exorbitant pric es is no bargain. Don't be misled by our low prices. Mumford Micro is known 
for true value in addition to high quality. 

«J. oerVlCe. We are not distributors or "middle men." We are the original producers of every package we sell. If you 
have a problem with one of our programs, you can often call and talk to the author. On those occasions when a problem 
cannot be resolved on the phone, prompt technical help is available from a programmer who is intimately familiar with the 
program you purchased. 



INSTANT ASSEMBLER 

The Instant Assembler a a powerful assembly language development system for the 
TRS-80 If you are already an assembly language programmer, its unique design mill greatly 
increase your productivity If you are tust getting started, there is no better assembler to help 
you learn machine language programming Some of its unique features are immediate 
assembly, which detects syntax errors as source is entered, and a compact source format that 
allows you to wnte programs nearly three times as large as other assemblers in the same 
amount of memory It will assemble to disk. tape, or directly to memory for immediate 
debugging with the built- :n debugger, and also produces relocatable code modules that can 
be saved on disk or tape and bnked together in memory for large or modular assemblies You 
can quickly switch from assembler to debugger without losing your source. The built-in 
debugger will step though your programs one instruction at a time, showing each disassem- 
bled instruction and its effect on the registers and memory It will load or save both 
conventional source files and its own condensed source format. 

The Instant Assembler package includes six separate programs. The assembler itself 
includes the editor and built-in debugger. The Linking Loader is included in several versions 
for different memory sues. A stand-alone version of the debugger (MicroMind) is also 
included. MicroMind can be relocated in memory and has commands to single-step, set 
breakpoints, display or alter registers or memory, find bytes or words, disassemble to screen 
or printer, convert between hex and decimal numbers, and write SYSTEM tapes. The Instant 
Assembler comes with a comprehensive 65 page instruction manual with many examples 

Specify Model 1 or Model 111. TAPE INTASM 2.1 $39.95 on tape 

Specify Model I or Model III. DISK INTASM 2.1 $49.95 on disk 



TELCOM 



Mumiord Micro offers two telecommunications programs TELCOM I has most of the 
features needed to communicate with bulletin boards, time share systems, or for file transfers 
between two dsk - based micros over modems or direct wire It is menu driven and extremely 
simple to use Functions include transmit a disk file, receive a disk file, save received data on 
disk, examine and modify UART parameters. 8 programmable log -on messages, automatic 
checksum verification of accurate transmission and reception, and many more user conveni- 
ences. Supports line printers, lowercase characters. Xorv'Xoff protocol, and programmable 
character keys. 

TELCOM II is an expanded version of this program for the most demand) ng telecomm unica- 
bons applications. The terminal mode now has a help menu and a large printer spooler for 
high baud rates. From within the terminal mode you can load disk files into the memory 
buffer, type into the buffer, transmit the buffer, or view the buffer or data that has already 
scrolled off the screen. It has 10 different programmable messages that can each be sent with a 
single command for auto log-on or auto dialing, and 5 different character translation tables. 
TELCOM II also includes an error correction file transfer mode which is compatible with the 
LYNC program available on CP/M systems and the IBM PC TELCOM II will exchange disk 
files with any computer running this protocol (including another TRS-80 running TELCOM 
II). and will automatically detect and correct errors in transmission Files can be sent to or 
fetched from an unattended computer The extreme ease of use TELCOM 1 is known for has 
not been compromised Reconfiguration of the programmable features is done internally 
from clear menus for fast, easy operation Both versions of TELCOM come with complete 
instruction manuals, which are available separately for $5 to help you decide which program 
is best suited to your needs 

Specify Model I or Model IU. TELCOM I $39.95 on disk 

Specify Model I or Model IU. TELCOM II $69.95 on disk 

MODEL I CLOCK MOD 

The SK - 2 dock modification allows CPU speeds to be switched between normal, an increase 
of 50% or 100%. or a 50% reduction Speeds may be changed with a toggle switch (not 
included) or on software command It can be configured to return to normal speed any time a 
disk is active and has provisions for adding an LED to indicate when the computer is not at 
normal speed. It mounts inside the keyboard unit with only 4 necessary connections and is 
easily removed if the computer ever needs service. The SK 2 has been field proven by 3 
years of use. and comes fully assembled with socketed IC's and illustrated instructions. 
Model I only. SK-2 $24.95 



DISK INDEX 



DISK INDEX will assemble a master index of your entire program library by automatically 
reading the program names and free space from each disk Trie index may then be 
alphabetized or searched for any disk program, or extension It will alphabetize 2400 
programs in less than 50 seconds and will find any program out of 2400 in less than J 
seconds. Disks or programs may be added or deleted manually, and the whole index or any 
selected part may be pnnted on paper in several different formats The index itsei! may als< i 
be stored on disk for future access and update. A 48K machine will hold up to 255 disks and 
over 2400 programs in each file, and you may build as many files as you need There is no 
limit to the number of filenames it can read on any one disk. It will run on either a Model I ot 
Model III and catalog disks for either machine regardless of which one is running it. thcxigh 
Model I owners must have double density to catalog Model III disks. It will automatically 
recognize any DOS and disk density. DISK INDEX works with any operating system written 
for the Model I or Model 111 except CP/M, and is extremely fast and easy to use. 
Specify Model I or Model 111. DISK INDEX VERSION 3 $29.95 on disk 

INSIDE LEVEL II 

The Programmers Guide to the TRS-80 ROMS 

INSIDE LEVEL II is a comprehensive reference guide to the Model I and Model III ROMs 
which allows the machine language or Basic programmer to easily utilize the sophisticated 
routines they contain Concisely explains set-ups. calling sequences, and variable passage 
for number conversion, anthmetic operations, and mathematical functions, as well as 
keyboard, tape, and video routines Pan II presents an entirely new composite program 
structure which loads under the SYSTEM command and executes in both Basic and machine 
code with the speed and efficiency of a compiler In addition the 18 chapters include a large 
body of other information useful to the programmer 80 Micro said "The book has no flaws, it 
is a perfect gem " Byte Magazine said "I recommend this book to serous machine language 
programmers." 
Includes updates for Model III. INSIDE LEVEL II $15.95 

DEMON DEBUGGER 

DEMON (for DEbugger and MONitor) is a sophisticated tool with which you can explore and 
debug machine language programs. It has two modes of operation In the STEP mode, it 
"emulates" the operation of the 7-80 and allows you to step through any machine language 
program one instruction at a time, showing you the address, hexadecimal value. Zilog 
mnemonic, register contents, and step count for each instruction. The 19 different STEP 
mode commands include step, step to a branch, run in step mode at a variable rate, run for a 
Specified number of steps, change flags or registers, execute a CALL or RST set breakpoints 
in RAM or ROM. and break when a numberin a defined range appears in any double register. 
The 26 commands in the MONITOR mode include hex anthmetic, hex to decimal conver 
sion. block move, fill memory, find bytes, jump to address, disassemble to screen, printer. 
disk, or tape, load memory from disk or tape, write memory to disk or tape, full screen 
memory edit in hex or ASCII, and relocate other programs or itself Screen displays may be 
routed to your Bne printer for hard copy. DEMON includes a comprehensive 40 page 
manual with many examples 
Specify Model 1 or Model III. DEMON $29.95 on tape or disk 

8748 ASSEMBLER 

Assemble programs for the complete Intel MCS-48 family of microcontrollers inducting the 
8741, 8742. 8748. and 8749 on your Model I. III. or IV Assembles from a source file written 
on your text editor directly to an object file on dsk It supports the standard Intel mnemonics 
and features conditional assembly and listing, complete expression evaluation, ten significant 
characters for symbols, a complete range of pseudo-ops. and informative error messages It 
comes with a comprehensive instruction manual which includes the instruction set for each 
component and sample listings for anthmetic and I/O subroutines We also offer plans, 
schematic, and software to help you build your own inexpensive 8748 programmer The 
8748 is a readily available single chip computer that contains RAM. EPROM. dock oscillator. 
a counter/timer, and 27 I/O lines in a single 40 pin package. A complete computer controller 
can be built with this one chip, a crystal, three capacitors, and a five volt power supply. 

Specify Model I or Model III. CASM48 $74.95 on disk 

Plans and software for an 8748 programmer $29.95 on disk 



MUMFORD 

MICRO 

SYSTEMS 



< >KI)f KING: Add S2 ">0 for postage and handling. California residents add b'\, sales tax. 
Visa, Mastercard, and COD orders are accepted If not completely satisfied, return your 
purchase within 10 days for a full refund Be sure to specify 1 Model I or Model III format 

Box 400-E. Summerland. California 93067 (805) 969-4557 
Quality software since 1978 



80 Micro. December 1983 • 95 



cal records (one granule), and an EOF 
of 128 bytes. 

If you want to quit and take a break, 
go ahead, but if you turn off your 
computer or run some other program, 
make sure you reenter the program 
at the correct point. To do this, use 
the M command under Debug and 
modify the location Entry so that it 
points to GTSPC1 in the demonstration 
program. 



Remember, the low order byte of the 
address of GTSPC1 goes into the low 
order byte of Entry, and the high order 
byte of the address of GTSPC1 goes in- 
to the high order byte of Entry. Now 
you can exit Debug and continue with 
the rest of this article. 

Read Operation 

Now I'll show you how to read the 
disk file you generated. You will read 







Program Listing. Demonstration program. 




(10010 

00020 
00030 


1 












FUNDAMENTAL ASSEMBLY LANGUAGE DISK I/O 




00040 


1 




FOR THE TRS 


-80 MODEL III 




00050 


.***»*******«** 


****************************************** 




00060 


1 










00070 




ORG 


8000H 






00080 


BKSPC 


EQU 


4445H 


/ BACKSPACE 1 LOGICAL REC 




00090 


CLOSE 


EQU 


4428H 


;CLOSE FILE ROUTINE 




00100 


CMDDOS 


EQU 


429CH 


;EXEC TRSDOS COMMAND 




00110 


CMDTXT 


EQU 


4225H 


;HAS LAST TRSDOS COMMAND 




00120 


COMDOS 


EQU 


4299H 


;EXEC TRSDOS COMMAND 




00130 


DIVIDE 


EQU 


4451H 


; DIVIDE ROUTINE 




00140 


DSPDIR 


EQU 


4419H 


/DISPLAY DIRECTORY 




00150 


ERRDSP 


EQU 


4409H 


.•DISPLAY ERROR MESSAGE 




00160 


FILPTR 


EQU 


428DH 


; FINDS FILE 1 AND DRIVE t 




00170 


INIT 


EQU 


4420H 


; INITIALIZE DISK FILE 




00180 


JP2DOS 


EQU 


402DH 


/ENTRY TO TRSDOS 




00190 


KILL 


EQU 


442CH 


; KILLS FILE 




00200 


OPEN 


EQU 


4424H 


> OPEN FILE ROUTINE 




00210 


POSEOF 


EQU 


4448H 


;GO TO END OF FILE 




00220 


POSN 


EQU 


4442H 


, POSITION TO LOGICAL REC. 




00230 


PUTEXT 


EQU 


444BH 


;PUT EXTENSION IN DCB 




00240 


RAMDIR 


EQU 


4290H 


;RAM DIRECTORY ROUTINE 




00250 


READ 


EQU 


4436H 


;DISK READ ROUTINE 




00260 


REWIND 


EQU 


443FH 


.■REWIND FILE ROUTINE 




00270 


SYNTAX 


EQU 


441CH 


;CHECK FILESPEC SYNTAX 




00280 


VERF 


EQU 


443CH 


; WRITE AND VERIFY 




00290 


WRITE 


EQU 


4439H 


;DISK WRITE ROUTINE 




00300 


; 










00310 












00320 


1 


MISCELLANEOUS ROUTINES AND DEFINITIONS 




00330 












00340 


,• 










00350 


KBLINE 


EQU 


40H 


;SCAN KEYBOARD FOR LINE 




00360 


KBWAIT 


EQU 


49H 


jWAIT FOR KEYBOARD INPUT 




00370 


LRL 


EQU 


128 


/LOGICAL RECORD LENGTH 




00380 


LRL2 


EQU 


256 


/ LOGICAL RECORD X2 




00390 


VDCLS 


EQU 


1C9H 


; CLEAR SCREEN ROUTINE 




00400 


VDLINE 


EQU 


21BH 


; DISPLAY LINE ROUTINE 




00410 


■ 










00420 


.to****************************************************** 




00430 


; 




STORAGE 


LOCATIONS 




00440 












00450 












00460 


ADRBUF 


EQU 


$ 


; ADDRESS OF 'BUFFER' 




00470 


BUFFER 


DEFS 


256 


/DISK I/O BUFFER 




00480 


AUREC 


EQU 


S 


; ADDRESS OF 'UREC' 




00490 


OR EC 


DEFS 


640 


;USER BUFFER 




00500 


ADRDCB 


EQU 


$ 


; ADDRESS OF 'DCB' 




00510 


DCB 


DEFS 


64 


;DATA CONTROL BLOCK 




00520 


AKBBUF 


EQU 


$ 


; ADDRESS OF 'KBLNBF' 




00530 


KBLNBF 


DEFS 


16 


; KEYBOARD INPUT BUFFER 




00540 


ADRDIR 


EQU 


S 


; ADDRESS OF 'DIRBUF' 




00550 


DIRBUF 


DEFS 


24 


; DIRECTORY BUFFER 




00560 


LENGTH 


EQU 


S-BUFFER 






00570 


DRVNUM 


DEFS 


1 


; ASCI I CODED DRIVE NUMBER 




00580 


LKBUF 


DEPS 


2 






00590 


AENTRY 


EQU 


S 


; ADDRESS OF RE-ENTRY BUF 




00600 


ENTRY 


DEFS 


2 


; RE-ENTRY ADDRESS BUFFER 




00610 


PARAH 


DEFS 


2 


; PARAMETER ADDRESS BUFFER 




00620 












00630 


.*************************»***«***»**«****«**«*********** 




00640 


; 




WRITE DISK 


FILE EXERCISE 




00650 


;****•*****••****+*•****************«**********«***•***** 




00660 


; 










00670 


START 


LD 


(PARAM) ,HL 


;SAVE PARAMETER POINTER 




00680 




CALL 


VDCLS 


; CLEAR SCREEN 




00690 




LD 


HL, (ENTRY) 


•GET RE-ENTRY ADDRESS 




00700 




LD 


A,H 






00710 




AND 


0F0H 






00720 




CP 


80H 


(IS THIS FIRST TIME THRU? 




00730 




JR 


NZ,START1 


J YES 




00740 




JP 


(HL) 


/NO. ENTER WHERE LEFT OFF 




00750 


START 1 


CALL 


CLRBUF 


.•CLEAR OUT BUFFERS 




00760 




CALL 


MOVDAT 


/FILL USER BUFFER W/DATA 




00770 




LD 


HL.SIGNON 


;SIGNON MESSAGE 




00780 




CALL 


VDLINE 


/DISPLAY MESSAGE 




00790 


GETS PC 


LD 


HL.SPCMSG 


; FILESPEC MESSAGE 




00800 




CALL 


VDLINE 


/DISPLAY MESSAGE 




00810 




LD 


HL, KBLNBF 


/KEYBOARD INPUT BUFFER 




00820 




LD 


B,1S 


I MAX t OF CHARS. ALLOWED 




00830 




CALL 


KBLINE 


;GET FILESPEC 




00840 




LD 


HL, KBLNBF 


/FILESPEC ADDRESS 

Lis ling 


continued 



96 • 80 Micro, December 1983 



four records, the first, then the third, 
then back to the first, and finally the 
fifth logical record. 

By typing in the name of the demon- 
stration program, reenter the program. 
Do this, but with one additional entry, 
the name of the data file (TEST- 
FILE/TST) following the name of the 
demonstration program. 

For example, if the name of the dem- 
onstration program is DISKIO, type 
DISKIO TESTFILE/TST. You must 
include a single space between the pro- 
gram name DISKIO and the data file 
name. Every time you type in a com- 
mand at TRSDOS READY, the HL 
register contains the address of the first 
non-blank character following the last 
command. The Disk System Owner's 
Manual describes this in detail under 
CMDTXT. 

Once you type in the demonstration 
program name followed by the data file 
name, the program automatically saves 
the HL register in the location labeled 
PARAM. This brings you to the read 
section of the program at label 



"ffyou close 
the file successfully, 

the program 
sets the zero flag." 



GTSPCl, with an accompanying mes- 
sage. Then the program loads the HL 
register with the address contained in 
the location PARAM. The Read rou- 
tine checks this address to see if it in- 
cludes a carriage return, indicating the 
end of a command, and the absence of 
parameters to pass. If no parameters 
exist, the program asks you to enter the 
filespec just as when you initially ran the 
program. 

If you typed in the parameter TEST- 
FILE/TST, the program uses this as the 
filespec to open the file. If you type an 
illegal parameter, an error occurs and 
you must enter a new filespec. 

If everything goes right, the program 
opens the TESTFILE/TST file, ready 
to read. Before the program reads the 
file, it executes the FILPTR routine 
starting at label OPENOK. This routine 
requires that the DE register contain the 
DCB address. On return from FILPTR 
the B register contains the drive number 
on which the file resides, with the logical 
file number in the C register. 

Continued on p. 100 



RIBBONS 



TOLL FREE 
800-327-9294 




"Everything Your Compu 


ter Needs" 




RIBBONS 




PRINTER 


EZ 

RELOAD 


CARTRIDGES 
















10 fo. W 94 


3 lor »?9 94 «*lo*J.«fl 






6 lo> til »4 (0«» ll o~* 




tnoiuta 


So- A»io*dACn» ! 


tPt 1* 


4 fortMS 


f*A 


























EPSON/au 




EPSON tDANO 


M« 70/»0/»0'»/' 




'6»4m 


MX-100 


3 for ig»4 


?194m 


OKMMTA 












CCNTKONICS 






'0O/7»/T37(7M/779 






/IP PACK 


< fo- TI9S 




CITOM 






Bi'O 1 3r-0"3»S 






-190 



Creative Computer 



1236 E Colonial Drive 
Orlando, FL 32803 USA 



Department 80 
■ (305) 894-0789 ( F lorida) 

Writ* For Free Catalog 
Over 1 000 items in Diskettes, Paper, Labels, Ribbons. Checks, Storage Bows, Furni- 
ture. Binders and Hardware. Florida plus 5% tax 

Add n For Shipping On Order. Less Than »30 
Most orders oijt In 24 hourawlth VISA, M/C. Money Order. AM EX, Cashier Check. 
Bank Wire and COD. Personal check allow 10-14 days. Mall order only. Prices 
sutote c t to change. 



CONVERT MOD I II 
BASIC TO MOD 4 

Good News! The Model 4 is twice as fast as the Model III. 

Bad News! Model III disk BASIC programs only tun at 

half speed on the Model 4 

Best News! "CONV3T04" will automate many of the 

changes required toconvert Model III BASIC 
programs to Model 4 BASIC. Your Model III 
BASIC programs will run twice as fast as they 
do now, and your manual conversion efforts 

In minutes this powerful utility can insert all required spaces, recalculate 
PRINT© addresses, adjust TAB ( ) addresses, insert correct exponentiation 
symbols, and flag and list unresolved line numbers. 

Other options enable your programs to run even taster - remove REM's. 
comments, down arrows, and unnecessary spaces. 

Or. format your programs and make them easier to read and debug - insert 
down arrows and indent between multiple instructions, IF. THEN, and ELSE 

l.-li.'l :■ I"-. 



... .. 

CONV3T04" WOO* '■ ..' i49<J5(y ; ,i $2.00 'n ' 

iN i res sod 6*v 
NAME: 



STREET: 



STATE 



ZIP 



EDUCATIONAL MICRO SYSTEMS, INC. 

PO Box 471. Civ- sey C/"930 

201-879-5982 



• DISPLAYS CORRECT SPELLINGS: 

If you don't know the correct spelling, 
E W will look it up for you, and display 
the dictionary. 

• VERIFIES CORRECTIONS: If you 

think you know the correct spelling of 
a word, E W will check it for you before 
making the corrections. 

• HYPHENATES AUTOMATICALLY: 

(Optional). Inserts discretionary hy- 
phens throughout text. 

• GRAMMARS STYLE CHECKER: 

(Optional). Identifies 22 types of com- 
mon errors. Makes suggested cor- 
rections with the stroke of a key. 
Runs within EW. 

• 50,000 WORD DICTIONARY: Uses 
only 2Vfe bytes per word; add as many 
words as you wish. 



FAST CORRECTING: In as little as 
30 seconds, Electric Webster can return 
you to your Word Processing program, 
with your text fully corrected and on 
your screen. 

INTEGRATES: into 11 different word 
processing programs: Wordstar, Spell- 
binder, Newscript, Lazy Writer, Super- 
Scripsit, Scripsit, Electric Pencil, Copy 
Art, Superscript, Zorlof, and Magic 
Wand (specify). Begins proofing at the 
stroke of a key; returns you to word 
processing automatically. 




"The Cadillac" 

of spelling checkers 
80 Microcomputing, 9/82 

VOTED #1: If this sounds too good to 
believe, you don't need to take our word 
for it. Take the word of the thousands of 
80 Micro readers who voted Electric 
Webster the #1 spelling checker ( 1783). 

"The most helpful program I've found is 
Electric Webster. After looking at nine 
proofreading programs, I've settled on 
Webster . . ." Creative Computing, 11/83 



ACCLAIMED: 

"Electric Webster is the best. Just read 
any review in any magazine and I don't 
believe that you will find even one dis- 
agreement to that statement." CINTUG, 
Cincinnati's Users Group Mag., 4183 

"In my opinion, the perfect combination 
is Correcting Electric Webster with the 
hyphenation and grammar add-ons. Tb 
my surprise, it fills every reasonable 
expectation. It is fast, easy to use and 
accurate." Desktop Computing, 12/82 

Performance "Excellent"; Documentation 
"Good"; Ease of Use "Excellent"; Error 
Handling "Excellent". Info World, 8/82 



LOW PRICES: 




TRS-80 Electric Webster 


$ 89.95 


w/Correcting Feature 


$149.95 


Hyphenation 


$ 49.95 


Grammar & Style Checker 


$ 49.95 


CP/M or PC/DOS 




Electric Webster 


$209.95 


(with Correcting Feature) 




Hyphenation Option 


Included* 


Grammar & Style Option 


Included* 



W- 



*Limited Time Only 

CORNUCOPIA 
SOFTWARE 



(415) 524-8098 



^45 



Post Office Box 611 1 Albany. California 94706 



SeeUslol Advertisers on Pmge 291 



80 Micro, December 1983 • 97 








LOAD 80 





t 






.TavV"* >**■ 



TO YOUR 
RESCUE 



LET LOAD 80 
RESCUE YOU 



In the dawn of the computer age programmers needed the 
patience of Job to manually keyboard all the major program 
listings from a single issue of 80 MICRO. 

Then LOAD 80 burst onto the scene and exploded that 
practice. Today thousands of TRS-80* owners use LOAD 80 
cassettes and disks even - month. These time-conscious com- 
puterists spend more time enjoying all the benefits of those 
80 MICRO programs. 

LOAD 80 programs come directly from 80 MICRO giving 
you complete and detailed documentation right there in the 
magazine. And now, the new disk transfer system allows 
Model III users to run LOAD 80 disks without conversions. 
Save close to 30 % on the single issue price by subscribing to 
LOAD 80 today (choose either monthly cassettes or disks). 



Due to the tremendous popularity of color computing we 
are replacing COLOR LOAD 80 with INSTANT COCO. 
INSTANT COCO is the color loader backed by Wayne 
Green's new and exciting color computing magazine, HOT 
COCO. See the latest issue of HOT COCO for full details. 
We will still be offering from COLOR LOAD 80, The Rest 
of '82," and three volumes of color programs from 1983 



issues. 



Start enjoying all the benefits of the programs in 80 
MICRO without all the programming hassels. Fill out the 
attached order form and send it to LOAD 80, 80 Pine Street, 
Peterborough, NH 03458. Or call toll free and use your 
Master Card, Visa, or American Express. 



* 'ATTENTION MODEL III USERS* * 

New, Improved Operating System! 

— ReadvToRun!! 

1-800-258-5473 

outside USA, phone: 603-924-9471 

NEW DISK TBANSER SYSTEM ALLOWS LOAD 80 TO NOW BE RUN ON MODEL III SINGLE DRIVE 
UNITS WITH NO CONVERSIONS NECESSARY!! 

LOAD 80 is simply the listing from 80 MICRO. Use the KEYBOX accompanying each article as your guide to system configurations. LOAD 80 
runs on the • TRS-80 Model I and Model III computers only. COLOR LOAD 80 runs on the ' TRS-80 Color Computer only. ' TRS-80 and Color 
Computer are trademarks of Radio Sluick. a division of Tandy Corp. 



Yes! Send me the December LOAD 80 

□ Disk $21.47 D Cassette $11.47 
Price includes postage and handling. 

Foreign air mail please add $.45 per item for postage and handling. 

Please enter my subscription for one year, beginning 

with this month's issue. 

C Disk $199.97 " Cassette $99.97 

Foreign air mail please add $25 per subscription (nr postage and liandling. 
U.S. Funds drawn on U.S. Bank only 

DCheck/MO GMC DVisa DAE 

Card# Exp. date 



1283 



Signature, 

Name 

Address _ 
City 



State. 



JZip_ 



Yes! Send me COLOR LOAD 80 

□ 1st Color Volume (Jan, Feb, March) @ $11.47 

□ 2nd Color Volume (Apr, May, June) @ $11.47 

□ 3rd Color Volume (August, September, Octoljer) i 

□ "Best of "82" at $16.47 

Price includes postage and handling. 

Foreign air mail please add $.45 per item for postage and handling. 
U.S. Funds drawn on U.S. Bank only 

DCheclc/MO QMC QVisa DAE 



QC12-83 



$11.47 



Card#_ 



Exp. date- 



Signature. 
Name 



Address 
City 



State. 



.Zip. 



LOAD 8O80 PINE ST.»PETERBOROUGH, NH 03458 



COLOR LOAD 8O80 PINE ST.-PETEREOROUGH, NH 03458 



*• See Ust ot Advertisers on Page 307 



80 Micro, December 1983 • 99 



Continued from p. 96 

If FILPTR finds the appropriate in- 
formation, it sets the zero flag. Other- 
wise, it resets the flag and the program 
skips down to the label RE ADO 1. 

On successful completion of FIL- 
PTR, the routine RAMDIR uses the BC 
register, returned by FILPTR, to get the 
directory information of TESTFILE/ 
TST and places it in memory. 

RAMDIR requires that the BC regis- 
ter contain the drive number in the B 
register, the file number in the C regis- 
ter, and the address of a 24-byte buffer 
in the HL register. The 24-byte buffer in 
this case is DIRBUF. The Disk System 
Owner's Manual states that the buffer 
must be 22 bytes long for data, plus 1 
byte for the plus symbol, which indi- 
cates the end of the directory. In fact, 
there are two plus marks at the end of 
the directory, thereby requiring 24 bytes 
in the buffer. If RAMDIR is successful, 
it sets the zero flag. 

Following the execution of RAM- 
DIR, the program converts the drive 
number and file number of TEST- 
FILE/TST contained in the BC register 
to ASCII and places them in two 
separate messages. In addition, it saves 
the ASCII coded drive number in a 
location labeled DRVNUM for later use 



BYTE 


MICRO 


N A B 


S K E E P 


AUTO 


T R/6) N E 


R U N D 


A/f/A O N 


D C L/ 


/Q/C K E A 


INT®, 


4) S U B M 


FORM 


A T I M E 


Enjoy Word find games? 


Put FIN DWORD to work! 


• Solves word find puzzles 

• Menu driven system 

• User manual included 

• Money back guarantee 


Specify MOD 1 or MOD III 
32K & 1 disk. Printer optional 


$49.95 plus $4.00 S & H 
Credit cards welcome 


3E 49 

WORDFIND DIVISION ^^ 
2700 REVERE SUITE 115 
HOUSTON, TEXAS 77098 
1-409-245-7692 

^341 



/ iMing en 


ilinueil 












00850 




LO 


DE.DCB | 


DATA CONTROL BLOCK 




00860 




CALL 


SYNTAX ; 


TEST FOR CORRECT SYNTAX 




00870 




JR 


NZ, GETS PC ; 


BAD SYNTAX 




00880 




CALL 


LOOK J 


EXAMINE FILESPEC ? 




00890 


EXTEND 


CALL 


HSG0 01 


DISPLAY ENTRY MESSAGES 




00900 




LO 


HL,KBLNBF ; 


KEYBOARD INPUT BUFFER 




00910 




LD 


B,3 ; 


ALLOWS 3 CHAR. ENTRY 




00920 




CALL 


KBLINE I 


GET EXTENSION 




00930 




LO 


HL,KBLNBF j 


EXTENSION ADDRESS 




00940 




LD 


DE,DCB } 


DATA CONTROL BLOCK 




00950 




CALL 


PL'TEXT ; 


ADD EXTENSION TO FILSPC 




00960 




CALL 


LOOK ; 


EXAMINE FILESPEC ? 




00970 


OPNFIL 


CALL 


MSG0 2 ; 


DISPLAY ENTRY MESSAGES 




00980 




LD 


HL, BUFFER | 


AODR SECTOR I/O BUFFER 




00990 




LD. 


DE.DCB J 


DATA CONTROL BLOCK 




01000 




LD 


B,LRL ; 


LOGICAL RECORD LENGTH 




01010 




CALL 


OPEN J 


OPEN FILE 




01020 




JR 


Z, INITOK t 


FILE OPENING SUCCESSFUL 




01030 




CALL 


ERPROC J 


DISPLAY ERROR MESSAGE 




01040 




CALL 


LOOK l 


EXAMINE DCB ? 




01050 


NEWFIL 


CALL 


MSG003 ; 


DISPLAY ENTRY MESSAGES 




01060 




LD 


HL, BUFFER J 


ADDR SECTOR I/O BUFFER 




01070 




LD 


DE,DCB t 


DATA CONTROL BLOCK 




01080 




LD 


B.LRL J 


LOGICAL RECORD LENGTH 




01090 




CALL 


INIT » 


INITIALIZE A NEW FILE 




01100 




JR 


Z,INITOK i 


NEW FILE INITIALIZED 




01110 




CALL 


ERPROC j 


DISTLAY ERROR MESSAGE 




01120 


INITOK 


CALL 


LOOK | 


EXAMINE DCB ? 




01130 


WRTFIL 


CALL 


MSG004 ! 


DISPLAY ENTRY MESSAGES 




01140 




LD 


HL,UREC J 


USER BLOCK 




01150 




LD 


DE,DCB ] 


DATA CONTROL BLOCK 




01160 




CALL 


VERF I 


WRITE DATA TO DISK 




01170 




JR 


Z.WRTOK1 I 


SUCCESSFUL WRITE 




01180 




CALL 


ERPROC | 


DISPLAY ERROR MESSAGE 




01190 


WRTOK1 


CALL 


LOOK | 


EXAMINE BUFFERS ? 




01200 


WRT002 


CALL 


MSG005 J 


DISPLAY ENTRY MESSAGES 




01210 




LD 


HL,UREC+LRL 


NEXT LRL OF DATA 




01220 




LD 


DE,DCB J 


DATA CONTROL BLOCK 




01230 




CALL 


WRITE j 


WRITE DATA TO DISK 




01240 




JR 


Z.WRTOK2 


SUCCESSFUL WRITE 




01250 




CALL 


ERPROC j 


DISPLAY ERROR 




01260 


WRTOK2 


CALL 


LOCK J 


EXAMINE BUFFERS ? 




01270 


WRT003 


CALL 


MSG0 06 


DISPLAY ENTRY MESSAGES 




01280 




LD 


HL.UREC+LRL2 


NEXT LRL OF DATA 




01290 




LD 


DE.DCB 


DATA CONTROL BLOCK 




01300 




CALL 


WRITE 


WRITE DATA TO DISK 




01310 




JR 


Z,WRTOK3 


SUCCESSFUL WRITE 




01320 




CALL 


ERPROC 


DISPLAY ERROR 




01330 


WRT0K3 


CALL 


LOOK 


EXAMINE BUFFERS ? 




01340 


WRT00 4 


CALL 


KSG007 


DISPLAY ENTRY MESSAGES 




01350 




LD 


HL,UREC+LRL+LRL2 






01360 




LD 


DE.DCB 


DATA CONTROL BLOCK 




01370 




CALL 


WRITE 


WRITE DATA TO DISK 




01380 




JR 


Z,WRTOK4 


SUCCESSFUL WRITE 




01390 




CALL 


ERPROC 


DISPLAY ERROR 




01400 


WRTOK4 


CALL 


LOOK 


EXAMINE BUFFERS ? 




01410 


WRT0 5 


CALL 


MSG008 


DISPLAY ENTRY MESSAGES 




01420 




LD 


HL.UREC+LRL2+LRL 






01430 




LD 


DE,DCB • 


DATA CONTROL BLOCK 




01440 




CALL 


WRITE 


WRITE DATA TO DISK 




01450 




JR 


Z.WRTOK5 


SUCCESSFUL WRITE 




01460 




CALL 


ERPROC 


DISPLAY ERROR 




01470 


WRTOK5 


CALL 


LOOK 


EXAMINE BUFFERS ? 




01480 


CLOSFL 


CALL 


MSG009 


DISPLAY ENTRY MESSAGES 




01490 




LD 


DE,DCB 


DATA CONTROL BLOCK 




01500 




CALL 


CLOSE 


CLOSE FILE 




01510 




JR 


Z, CLOSOK 


FILE CLOSED SUCCESSFULLY 




01520 




CALL 


ERPROC 


DISPLAY ERROR MESSAGE 




01530 


CLOSOK 


LD 


HL.GTSPC1 


GET RE-ENTRY ADDRESS 




01540 




LD 


(ENTRY) ,HL 


•SET NEW RE-ENTRY ADDRESS 




01550 




JP 


JP2DOS 


JUMP TO TRSDOS READY 




01560 


. 










01570 












01^80 
01590 


; 




READ DISK FILE 


EXERCISE 














01600 


; 










01610 


GTS PCI 


CALL 


CLRBUF 


; CLEAR OUT BUFFERS 




01620 




CALL 


MSG010 


; DISPLAY ENTRY MESSAGES 




01630 




LD 


HL, (PARAM) 


;GET PARAMETER ADDRESS 




01640 




LD 


A,(HL) 


; FIRST CHARACTER OF PARAM 




01650 




C? 


0DH 


j CARRIAGE RETURN ? 




01660 




JR 


NZ, RDOPEN 


;OPEN FILE USING PARAM. 




01670 


GTS PC 2 


LD 


HL,SPCMSG 


;GET FILESPEC MESSAGE 




01680 




CALL 


VDLINE 


; DISPLAY MESSAGE 




01690 




LD 


HL,KBLNBF 


; KEYBOARD INPUT BUFFER 




01700 




LO 


B.15 


;MAX t CHARS FROM KEYBRD 




01710 




CALL 


KBLINE 


j INPUT KEYBOARD DATA 




01720 




LO 


HL.KBLNBF 


;FILESPEC 




01730 


RDOPEN 


LO 


D£,DCB 


;DATA CONTROL BLOCK 




01740 




CALL 


SYNTAX 


; CHECK FOR CORRECT SYNTAX 




01750 




JR 


NZ.GTSPC2 


;BAO SYNTAX 




01760 




LD 


HL, BUFFER 


.•SECTOR I/O BUFFER 




01770 




LD 


DE,DCB 


;DATA CONTROL BLOCK 




01780 




LD 


B,LRL 


; LOGICAL 3EC0RD LENGTH 




01790 




CALL 


OPEN 


;OPEN FILE 




01800 




JR 


Z, OPENOK 


; OPENED SUCCESSFULLY 




01810 




CALL 


ERPROC 


; DISPLAY ERROR MESSAGE 




01820 




JR 


GTS PC 2 


;GET NEW FILESPEC 




01830 


OPENOK 


LD 


DE , DCB 


;DATA CONTROL BLOCK 




01840 




CALL 


FILPTR 


;GET DRV/FILE * IN BC REG 




01850 




JR 


NZ,READ01 


;SKIP IF ERROR 




01860 




LD 


HL, DIRBUF 


; DIRECTORY BUFFER 




01870 




CALL 


RAMDIR 


;GET DIRECTORY INFO 




01880 




JR 


NZ,READ01 


;SKIP IF ERROR 




01890 




LD 


A,B 


;PUT DRIVE 1 IN A REG 




01900 




ADD 


A,30H 


;MAKE ASCII 




01910 




LD 


(DRVNUM) ,A 


;SAVE FOR ROUTINE DSPDIR 

/ isimg continued 



100 • 80 Micro, December 1983 



VIDEO INSTRUCTION TAPES! 



THE OLD HARD WAY 




STEP BY STEP INSTRUCTIONS 

PICTURES ARE WORTH 

THOUSANDS OF WORDS AND SAVE 

HOURS OF FRUSTRATION 

Use your VCR side by side with your computer 
to learn disk operating systems, how to program, 
and how to use programs. Your VCR along with your 
computer serve as your personal tutor. Pause your 
VCR to review and learn at your own pace. 

VHS or BETA FORMAT 

SPECIAL SALE WHILE SUPPLY LAST 

Verbatim Datalife Diskettes 

5 Year Warranty 5% In 

Double Density Diskettes In 

Plastic Storage Box 





THE NEW 


EASY WAY 




TAPES NOW AVAILABLE 


CAT# 


TOPIC 


APPROX RUN TIME 


DOS-1 


TRSDOS 1.3 MOD 3 


1 HR30 MIN 


DOS-6 


TRSDOS 6.0 MOD 4 


1 HR45 MIN 


DOS-3 


NEWDOS80 2.0 


1 HR45 MIN 


DOS-2 


DOSPLUS 3.5 


1 HR45 MIN 


DOS-5 


LDOS 


1 HR45 MIN 


DOS-4 


MULTIDOS 


1 HR45 MIN 


EW-1 


VISICALC 


1 HR30 MIN 


WP-1 


LAZY WRITER 


1 HR45 MIN 


WP-2 


SUPERSCRIPSIT 


1 HR45 MIN 


WP-3 


SCRIPSIT 


1 HR30 MIN 


DB-1 


PROFILE III PLUS 


1 HR45 MIN 


DIO-3 


TRSDOS 1.3 DISK I/O 


1 HR45 MIN 


DIO-4 


TRSDOS 6.0 DISK I/O 


1 HR45 MIN 



The DIO-3 and DIO-4 Video Tapes include disk 
basic commands with examples. Also teaches both 
random and sequential disk read and write. 



ONLY 



$25.00 



BOX OF TEN 



MASTERCARD — VISA and C.O.D. Orders accepted 
add $3.00 per order for shipping and handling. Telephone 
orders taken 9:00 a.m. - 6:00 p.m. Central Time. 
Specify either VHS or BETA Tape Format 

C.O.D. Orders add $3.00 
DEALER INQUIRIES WELCOME 

TO ORDER PHONE 
OR WRITE 



TAPE ABOVE ONLY 



$39.95 



EACH 



CAT # TOPIC 

BP-1 LEARNING MODEL 3 BASIC 

BP-2 LEARNING MODEL I BASIC 

BP-3 LEARNING C-64 BASIC 

BP-4 LEARNING VIC-20 BASIC 

DIO-1 COMMODORE 64 DISK I/O 

DIO-2 VIC 20 DISK I/O 



APPROX RUN TIME 

3 HR 

3 HR 

2 HR 

2 HR 

1 HR45 MIN 

1 HR45 MIN 



TAPES ABOVE ONLY 



$49.95 



EACH 



LYNN COMPUTER SERVICE 

6831 West 1 57th Street Tinley Park, Illinois 60477 
(312)429-1915 




BANKAMf RlCARD 



VISA 



VISICALC IS A TRADEMARK OF PERSONEl SOFTWARE INC LAZY WRITER IS A TRADEMARK OF AlPHA BIT COMMUNICATION SCRIPSIT. SUPERSCRIPSIT. PROFILE III PLUS AND TRSDOS 
ARE TRADEMARKS OF TANDY CORP LDOS IS A TRADEMARK OF LOGICAL SYSTEMS INC NEWDOS80 IS A TRADEMARK OF APPARAT INC DOS PLUS IS A TRADEMARK OF MICRO SYSTEMS 
SOFTWARE INC MULTIDOS IS A TRADEMARK OF COSMOPOLITAN INC VIC 20 AND COMMODORE 64 ARE TRADEMARKS OF COMMODORE BUSINESS MACHINES. INC 



* See Ust of Advertisers on Page 291 



80 Micro, December 1983 • 101 



Listing continued 












01920 




LD 


(DRVBUF) ,A 


;PUT IN MESSAGE 




01930 




LD 


L,C 


rSET UP HL REGISTER TO 




01940 




LD 


H,0 


/ MAXE FILE NUMBER AN 




019S0 




LD 


A, 10 


/ ASCII STRING. 




01960 




CALL 


DIVIDE 






01970 




ADD 


A,30H 


;MAKE REMAINDER ASCII 




01980 




LD 


(FILNUM+1) ,A 


/SAVE IN MESSAGE 




01990 




LD 


A,L 


|GET REST OF FILE NUMBER 




02000 




ADD 


A.30H 


/MAKE IT ASCII 




02010 




LD 


(FILNUM) ,A 


/PUT IN MESSAGE 




02020 




LD 


HL.DRVMSG 


/DRIVE NUMBER MESSAGE 




02030 




CALL 


VDLINE 


/DISPLAY MESSAGE 




02040 




LD 


HL.FILMSG 


/FILE NUMBER MESSAGE 




02050 




CALL 


VDLINE 


/DISPLAY REST OF MESSAGE 




02060 




CALL 


LOOK 


/EXAMINE DIRECTORY 7 




02070 


READ01 


CALL 


HSG011 


/DISPLAY ENTRY MESSAGES 




020B0 




LD 


HL.UREC 


/USER DATA BUFFER 




02090 




LD 


DE,DCB 


/DATA CONTROL BLOCK 




02100 




CALL 


READ 


/READ A LOGICAL RECORD 




02110 




JR 


Z, READOK 


/RECORD READ OK 




02120 




CALL 


ERPROC 


/DISPLAY ERROR MESSAGE 




92130 


READOK 


CALL 


LOOK 


/EXAMINE BUFFERS 7 




02140 


POSENT 


CALL 


HSG012 


/DISPLAY ENTRY MESSAGES 




02150 




LD 


DE.DCB 


/DATA CONTROL BLOCK 




02160 




LD 


BC,2 


ZLRL TO GO TO 




02170 




CALL 


POSN 


/GO TO 3RD LOGICAL RECORD 




02180 




JR 


Z, POSNOK 


/POSITIONED OK 




02190 




CALL 


ERPROC 


/DISPLAY ERROR MESSAGE 




02200 


POSNOK 


CALL 


LOOK 


/EXAMINE DCB 7 




02210 


READ02 


CALL 


KSG013 


/DISPLAY ENTRY MESSAGES 




02220 




LD 


HL,UREC+LRL 


/OFFSET INTO BUFFER 1 LRL 




02230 




LD 


DE,DCB 


/DATA CONTROL BLOCK 




02240 




CALL 


READ 


/READ NEXT LOGICAL RECORD 




02250 




JR 


Z.RDOK 


/NEXT RECORD READ OK 




02260 




CALL 


ERPROC 


/DISPLAY ERROR MESSAGE 




02270 


RDOX 


CALL 


LOOK 


/EXAMINE BUFFERS 7 




02280 


REWENT 


CALL 


KSG014 


/DISPLAY ENTRY MESSAGES 




02290 




LD 


DE.DCB 


/DATA CONTROL BLOCK 




02300 




CALL 


REWIND 


/GO TO BEGINNING OF FILE 




02310 




JR 


Z, REHOK 


/REWIND COMPLETE 




02320 




CALL 


ERPROC 


/PROCESS ERROR MESSAGE 




02330 


REHOK 


CALL 


LOOK 


/EXAMINE BUFFERS 7 




02340 


READ03 


CALL 


KSG015 


/DISPLAY ENTRY MESSAGES 




02350 




LD 


HL,UREC+LRL2 


/NEXT LOGICAL RECORD 




02360 




LD 


DE,DCB 


/DATA CONTROL BLOCK 




02370 




CALL 


READ 


/READ FIRST LOGICAL REC 




02380 




JR 


Z,RDOKl 


/FIRST LOG REC READ OK 




02390 




CALL 


ERPROC 


/PROCESS ERROR MESSAGE 




02400 


ROOK1 


CALL 


LOOK 


/EXAMINE BUFFERS 7 




02410 


EOFENT 


CALL 


HSG016 


/DISPLAY ENTRY MESSAGES 




02420 




LD 


DE.DCB 


/DATA CONTROL BLOCK 




02430 




CALL 


POSEOF 


/GO TO END OF FILE 




02440 




JR 


Z,EOFOK 


/POSITIONED TO EOF OK 




02450 




CALL 


ERPROC 


/PROCESS ERROR MESSAGE 




02460 


EOPOK 


CALL 


LOOK 


/EXAMINE BUFFERS 7 




02470 


BRENT 


CALL 


MSG017 


/DISPLAY ENTRY MESSAGES 




02480 




LD 


DE.DCB 


/DATA CONTROL BLOCK 




02490 




CALL 


BKSPC 


/BACK UP 1 LOGICAL RECORD 




02500 




JR 


Z, BKSPOK 


/BACKSPACE 1 LRL OK 




02510 




CALL 


ERPROC 


/PROCESS ERROR MESSAGE 




02520 


BKSPOK 


CALL 


LOOK 


/EXAMINE BUFFERS 7 




02530 


READ04 


CALL 


HSG018 


/DISPLAY ENTRY MESSAGES 




02540 




LD 


HL.UREC+LRL2+LRL /USER BUFFER 




02550 




LD 


DE.DCB 


/DATA CONTROL BLOCK 




02560 




CALL 


READ 


/READ LOGICAL RECORD 




02570 




JR 


Z,RDOK2 


/READ SUCCESSFUL 




02580 




CALL 


ERPROC 


/PROCESS ERROR MESSAGE 




02590 


RDOK2 


CALL 


LOOK 


/EXAMINE BUFFERS 7 




02600 


CLSENT 


CALL 


HSG019 


/DISPLAY ENTRY MESSAGES 




02610 




LD 


DE.DCB 


/DATA CONTROL BLOCK 




02620 




CALL 


CLOSE 


/CLOSE FILE 




02630 




JR 


Z, KILFIL 


/CLOSE OF FILE OK 




02640 




CALL 


ERPROC 


/PROCESS ERROR MESSAGE 




02650 


KILFIL 


LD 


HL.KILHSG 


/KILLING FILE MESSAGE 




02660 




CALL 


VDLINE 


/DISPLAY MESSAGE 




02670 




LD 


DE.DCB 


/DATA CONTROL BLOCK 




02680 




CALL 


KILL 


/KILL FILE 




02690 




JR 


Z, KILLOK 


/KILL SUCCESSFUL 




02700 




CALL 


ERPROC 


/PROCESS ERROR 




02710 


KILLOK 


LD 


A.(DRVNUH) 


/GET DRIVE NUMBER 




02720 




LD 


(4271H) ,A 


/PUT IN SYSTEM AREA 




02730 




CALL 


DSPDIR 


/DISPLAY DIRECTORY 




02740 




LD 


HL.ENDMSG 


/END OF DEMO MESSAGE 




02750 




CALL 


VDLINE 


/DISPLAY MESSAGE 




02760 




CALL 


KBWAIT 


/WAIT FOR KEYBOARD ENTRY 




02770 




JP 


JP2DOS 


/GO TO TRSDOS READY 




02780 
02790 




















02800 






ERROR DISPLAY PROCESSOR 




02810 












02820 












02830 


ERPROC 


OR 


0C0H 


/DISPLAY MODE FOR ERRDSP 




02840 




CALL 


ERRDSP 


/DISPLAY ERROR MESSAGE 




02850 




RET 








02860 
02870 




















02880 
02890 






EXAMINE DATA 


PROCESSOR 












02900 












02910 


LOOK 


POP 


HL 


/GET RETURN ADDRESS 




02920 




PUSH 


BL 


/RESTORE IT 




02930 




LD 


(ENTRY) ,HL 


/SAVE RETURN ADDRESSS 




02940 


LOOK1 


LD 


HL.LKHSG 


/LOOK? MESSAGE 




02950 




CALL 


VDLINE 


/DISPLAY MESSAGE 




02960 




LD 


HL.LKBUF 


/ANSWER BUFFER 




02970 




LD 


B.l 


/ALLOW 1 CHAR TO RTN 

Listing 


continued 



by the system routine DSPDIR. 

The program displays the messages 
and calls Look so you can see the direc- 
tory in RAM. You can use the directory 
to find out how many records are in the 
file, the file's logical record length, and 
other information needed to read the 
file. See Table 4 for the directory's 
layout. 

Since you already know the number 
of logical records and the logical record 
length, returning to the demonstration 
program after looking at the directory 
leads right into reading the file starting 
at label READ01. 

When you open a file, the data in the 
DCB points to the first logical record in 
the file. A message indicates that you 
are reading the first logical record. With 
the HL register pointing to UREC and 
the DE register pointing to the DCB, the 
program makes a call to Read. If the 
read is successful, it sets the zero flag 
and puts the first logical record into 
UREC. This gives you an opportunity 
to look at the buffer UREC. 

After looking at UREC, return to the 



"You can use the directory 

to find out 

how many records 

are in the file. " 



demonstration program. You should 
reenter at the label POSENT where the 
routine POSN executes so you can read 
the third logical record. POSN requires 
that the BC register point to the logical 
record to which you want to read or 
write. Since the logical records start 
with record zero, record 2 is the third 
logical record, therefore BC equals 2. 

The DE register must point to the 
DCB. If the positioning is successful, 
the subroutine sets the zero flag and a 
Look call lets you view the DCB. You 
should note here that the next physical 
record number at bytes 10 and 11 in the 
DCB is now 1, and byte 5 (the offset to 
delimiter at end of current physical 
record) is zero. This confirms your posi- 
tion at the end of the second logical 
record and points to the third logical 
record. 

Now return to the demonstration 
program reentering at the label READ- 
02. Here the program reads the third 
logical record. The program loads the 
HL register with UREC plus LRL, al- 
lowing the next read from the disk to 
place the data in the next 128 bytes of 



102 • 80 Micro, December 1983 



the user buffer UREC. The program 
next loads the DE register with the DCB 
address and executes a Read command. 
On successful completion, a call to 
Look lets you examine UREC and the 
DCB. 

Now return to the demonstration pro- 
gram at label RE WENT where it executes 
a Rewind routine. This routine requires 
that the program load only the DE reg- 
ister with the address of the DCB. Once 
the program executes Rewind, the DCB 
points to the beginning of the file, rec- 
ord zero. Again, a successful execution 
sets the zero flag and you can look at the 
DCB via Look. 

Returning to the demonstration pro- 
gram should place you at the label 
READ03. Here the program reads the 
first logical record. The HL register 
points one more logical record length 
into UREC, and the DE register con- 
tains the DCB address. The call to Read 
reads the first logical record into 
UREC. Following a successful read, 
you can look at UREC to verify that it 
now contains the first, third, and first 
logical records of TESTFILE/TST. 

You can do one of two things in order 
to read the last logical record. You can 
use the POSN routine to go to logical 
record 5, or you can go to the end of the 
file and backspace one logical record. 
Here I do the latter. 

Return to the demonstration pro- 
gram at label EOFENT. The DE regis- 
ter contains the address of the DCB and 
the program calls POSEOF. If success- 
ful, it sets the zero flag and the DCB 
points to the beginning of the next 
logical record beyond the last logical 
record. 

For a write operation, you can extend 
the file here. But since you're reading 
and you want to look at the last log- 
ical record, you must backspace one 
record. If you looked at the DCB af- 
ter the program executes POSEOF, 
return to the demonstration program at 
label BKENT. 

With the DE register pointing to the 
DCB address, a call to BKSPC reposi- 
tions the pointer in the DCB to the last 
logical record. To allow examination of 
the DCB, the program calls the Look 
routine. Considering bytes 10 and 11, 
the next physical record is 2 and the off- 
set to delimiter at end of current record 
at byte 5 is zero. This verifies that the 
DCB is pointing to the fifth logical 
record. 

Continuing with the demonstration 
program at label READ04, it loads the 
HL register with the address of the next 
logical record position into UREC and 
places the address of the DCB in the DE 



Listing continued 












02980 




CALL 


RBLINE 


(GET CHARACTER 




02990 




JR 


CLOOK1 


(BREAK KEY PRESSED 




03000 




LD 


A,(HL) 


I GET ANSWER 




03010 




CP 


lyl 


|WAS IT YES ? 




03020 




RET 


NZ 


j NO 




03030 




LD 


HL,EXECUT 


(ADDRESS OF COMMAND 




03040 




JP 


CONDOS 


(ENTER DEBUG 




03050 












03060 












03070 
03080 




ENTRY POINT MESSAGE 


DISPLAY ROUTINES 












03090 












03100 


MSG001 


LD 


HL,ENTMSG 


(ENTRY POINT MESSAGE 




•3111 




CALL 


VDLINE 


(DISPLAY MESSAGE 




03120 




LD 


HL.ENT001 


(ENTRY POINT NAME #1 




03130 




CALL 


VDLINE 


(DISPLAY IT 




03140 




LD 


BL,EXTHSG 


(PROMPT FOR EXTENSION 




03150 




CALL 


VDLINE 


(DISPLAY MESSAGE 




03160 




RET 








•3170 


MSG002 


LD 


BL.ENTMSG 


(ENTRY POINT MESSAGE 




03180 




CALL 


VDLINE 


(DISPLAY MESSAGE 




03191 




LD 


HL.ENT002 


(ENTRY POINT NAME 42 




03200 




CALL 


VDLINE 


(DISPLAY IT 




03210 




LD 


BL,0PNMSG 


(OPEN FILE MESSAGE 




03220 




CALL 


VDLINE 


(DISPLAY MESSAGE 




03230 




RET 








03240 


NSG003 


LD 


HL,ENTMSG 


(ENTRY POINT MESSAGE 




03250 




CALL 


VDLINE 


(DISPLAY MESSAGE 




03260 




LD 


HL,ENT003 


(ENTRY POINT NAME 43 




03270 




CALL 


VDLINE 


(DISPLAY IT 




03280 




LD 


BL.INITMS 


(INITIALIZING FILE MSG 




•3290 




CALL 


VDLINE 


(DISPLAY MESSAGE 




03300 




RET 








03310 


MSG004 


LD 


HL,ENTMSG 


(ENTRY POINT MESSAGE 




03320 




CALL 


VDLINE 


(DIPLAY MESSAGE 




03330 




LD 


HL.ENT004 


(ENTRY POINT NAME #4 




03340 




CALL 


VDLINE 


(DISPLAY IT 




•3350 




LD 


HL.LRLlST 


('FIRST' LOGICAL REC MSG 




03360 




CALL 


VDLINE 


(DISPLAY IT 




03370 




LD 


HL.WRT001 


(WRITING LOGICAL REC MSG 




03380 




CALL 


VDLINE 


(DISPLAY MESSAGE 




03390 




RET 








03400 


MSG005 


LD 


HL,ENTHSG 


(ENTRY POINT MESSAGE 




03410 




CALL 


VDLINE 


(DISPLAY MESSAGE 




03420 




LD 


HL,ENT005 


(ENTRY POINT NAME 4 5 




03430 




CALL 


VDLINE 


(DISPLAY IT 




03440 




LD 


UL,LRL2ND 


( ' SECOND ' LOGICAL REC MSG 




03450 




CALL 


VDLINE 


(DISPLAY MESSAGE 




03460 




LD 


HL,WRT001 


(WRITING LOGICAL REC MSG 




03470 




CALL 


VDLINE 


(DISPLAY MESSAGE 




03480 




RET 








03490 


MSG006 


LD 


HL,ENTMSG 


(ENTRY POINT MESSAGE 




03500 




CALL 


VDLINE 


(DISPLAY MESSAGE 




03510 




LD 


BL,ENT006 


(ENTRY POINT NAME 46 




03520 




CALL 


VDLINE 


(DISPLAY IT 




03530 




LD 


HL,LRL3KD 


('THIRD' LOGICAL REC MSG 




03540 




CALL 


VDLINE 


(DISPLAY MESSAGE 




03550 




LD 


HL.WRT001 


(WRITING LOGICAL REC MSG 




03560 




CALL 


VDLINE 


(DISPLAY MESSAGE 




03570 




RET 








03580 


MSG007 


LD 


HL.ENTMSG 


(ENTRY POINT MESSAGE 




03590 




CALL 


VDLINE 


(DISPLAY MESSAGE 




03600 




LD 


BL,ENT007 


(ENTRY POINT NAME 47 




03610 




CALL 


VDLINE 


(DISPLAY IT 




03620 




LD 


BL,LRL4TB 


('FOURTH' LOGICAL REC MSG 




03630 




CALL 


VDLINE 


(DISPLAY MESSAGE 




• 3640 




LD 


HL.WRT001 


(WRITING LOGICAL REC MSG 




03650 




CALL 


VDLINE 


(DISPLAY MESSAGE 




03660 




RET 








• 3670 


MSG0B8 


LD 


HL,ENTMSG 


(ENTRY POINT MESSAGE 




03660 




CALL 


VDLINE 


(DISPLAY MESSAGE 




03690 




LD 


BL,ENT008 


(ENTRY POINT NAME 48 




03700 




CALL 


VDLINE 


(DISPLAY IT 




03710 




LD 


BL r LRL5TB 


('FIFTH' LOGICAL REC MSG 




03720 




CALL 


VDLINE 


(DISPLAY MESSAGE 




03730 




LD 


HL,WRT001 


(WRITING LOGICAL REC MSG 




03740 




CALL 


VDLINE 


(DISPLAY MESSAGE 




03750 




RET 








03760 


MSG009 


LD 


BL,ENTMSG 


(ENTRY POINT MESSAGE 




03778 




CALL 


VDLINE 


(DISPLAY MESSAGE 




03780 




LD 


HL,ENT009 


(ENTRY POINT NAME 49 




03790 




CALL 


VDLINE 


(DISPLAY IT 




03800 




LD 


HL.CLOSMS 


(CLOSING FILE MESSAGE 




03810 




CALL 


VDLINE 


(DISPLAY MESSAGE 




03820 




RET 








03830 


HSG010 


LD 


HL,ENTHSG 


(ENTRY POINT MESSAGE 




03840 




CALL 


VDLINE 


(DISPLAY MESSAGE 




03850 




LD 


HL.ENT010 


(ENTRY POINT NAME 410 




03860 




CALL 


VDLINE 


(DISPLAY IT 




03870 




LD 


BL,RDMSG 


(READING FILE MESSAGE 




03880 




CALL 


VDLINE 


(DISPLAY MESSAGE 




03890 




RET 








03900 


MSG011 


LD 


BL,ENTMSG 


(ENTRY POINT MESSAGE 




•391* 




CALL 


VDLINE 


(DISPLAY MESSAGE 




03920 




LD 


BL.ENT011 


(ENTRY POINT NAME 411 




03930 




CALL 


VDLINE 


(DISPLAY IT 




03940 




LD 


HL,LRL1ST 


('FIRST' LOGICAL REC MSG 




03950 




CALL 


VDLINE 


(DISPLAY MESSAGE 




03960 




LD 


BL,RDLRL 


(READING LOGICAL REC MSG 




03970 




CALL 


VDLINE 


(DISPLAY MESSAGE 




03980 




RET 








03990 


MSG012 


LD 


HL.ENTHSG 


(ENTRY POINT MESSAGE 




04000 




CALL 


VDLINE 


(DISPLAY MESSAGE 




04010 




LD 


HL,ENT012 


(ENTRY POINT NAME 412 




04020 




CALL 


VDLINE 


(DISPLAY IT 




04030 




LD 


HL,POSMSG 


(POSITIONING MESSAGE 

Listing 


continued 



80 Micro, December 1983 • 103 



LtSt MR 


continued 














04040 




CALL 


VDLINE 


; DISPLAY MESSAGE 






04950 




RET 










04060 


MSC013 


LD 


HL,ENTMSG 


/ ENTRY POINT MESSAGE 






04070 




CALL 


VDLINE 


/DISPLAY MESSAGE 






04080 




LD 


HL,ENT013 


; ENTRY POINT NAME 113 






04090 




CALL 


VDLINE 


/ DISPLAY IT 






04100 




LD 


HL.LRL3RD 


/'THIRD' LOGICAL REC MSG 






04110 




CALL 


VDLINE 


/DISPLAY MESSAGE 






04120 




LD 


HL,RDLRL 


/READING LOGICAL REC MSG 






04130 




CALL 


VDLINE 


/DISPLAY MESSAGE 






04140 




RET 










04150 


MSG014 


LD 


HL,ENTMSG 


/ENTRY POINT MESSAGE 






04160 




CALL 


VDLINE 


/DISPLAY MESSAGE 






04170 




LD 


HL,ENT014 


/ENTRY POINT NAME #14 






04180 




CALL 


VDLINE 


/DISPLAY IT 






04190 




LD 


HL,RENMSG 


/REWINDING FILE MESSAGE 






04200 




CALL 


VDLINE 


/DISPLAY MESSAGE 






04210 




RET 










04220 


NSG015 


LD 


HL,£NTMSG 


/ENTRY POINT MESSAGE 






04230 




CALL 


VDLINE 


/DISPLAY MESSAGE 






04240 




LD 


HL,ENT015 


/ENTRY POINT NAME #15 






04250 




CALL 


VDLINE 


/DISPLAY IT 






04260 




LD 


HL.LRLlST 


/'FIRST' LOGICAL REC MSG 






04270 




CALL 


VDLINE 


/DISPLAY MESSAGE 






04280 




LD 


HL.RDLRL 


/READING LOGICAL REC MSG 






04290 




CALL 


VDLINE 


/DISPLAY MESSAGE 






04300 




RET 










04310 


HSG016 


LD 


HL,ENTHSG 


/ENTRY POINT MESSAGE 






04320 




CALL 


VDLINE 


/DISPLAY MESSAGE 






04330 




LD 


HL,ENT016 


/ENTRY POINT NAME #16 






04340 




CALL 


VDLINE 


/DISPLAY IT 






04350 




LD 


BL,EOPHSG 


/POSITIONING TO EOF MSG 






04360 




CALL 


VDLINE 


/DISPLAY MESSAGE 






04370 




RET 










04380 


MSG017 


LD 


HL,ENTMSG 


/ENTRY POINT MESSAGE 






04390 




CALL 


VDLINE 


/DISPLAY MESSAGE 






04400 




LD 


HL.ENT017 


/ENTRY POINT NAME #17 






04410 




CALL 


VDLINE 


/DISPLAY IT 






04420 




LD 


HL.BKSPMS 


/BACKSPACING MESSAGE 






04430 




CALL 


VDLINE 


/DISPLAY MESSAGE 






04440 




RET 










04450 


MSG018 


LD 


HL.ENTMSG 


/ENTRY POINT MESSAGE 






04460 




CALL 


VDLINE 


/DISPLAY MESSAGE 






04470 




LD 


HL.ENT018 


/ENTRY POINT NAME 118 






04480 




CALL 


VDLINE 


/DISPLAY IT 






04490 




LD 


HL,LRL5TH 


/'FIFTH' LOGICAL REC MSG 






04500 




CALL 


VDLINE 


/DISPLAY MESSAGE 






04510 




LD 


HL,RDLRL 


/READING LOGICAL REC MSG 






04520 




CALL 


VDLINE 


/DISPLAY MESSAGE 






04530 




RET 










04540 


HSG019 


LD 


HL,ENTHSG 


/ENTRY POINT MESSAGE 






04550 




CALL 


VDLINE 


/DISPLAY MESSAGE 






04560 




LD 


HL,ENT019 


/ENTRY POINT NAME #19 






04570 




CALL 


VDLINE 


/DISPLAY IT 






04580 




LD 


HL.CLOSMS 


/CLOSING FILE MESSAGE 






04590 




CALL 


VDLINE 


/DISPLAY MESSAGE 






04600 




RET 










04610 
04620 






















04630 
04640 






CLEAR BUFFER AREAS 














04650 














04660 


CLRBUF 


LD 


BC , LENGTH 


/LENGTH OF STORAGE AREA 






04670 




LD 


HL, BUFFER 


/START OF STORAGE AREA 






04680 


CLRLP 


XOR 


A 


/CLEAR A REGISTER 






04690 




LD 


(HL) ,A 


/CLEAR STORAGE AREA 






04700 




DEC 


BC 


/DECREMENT BYTE COUNTER 






04710 




LD 


A,B 


/IS CLEARING FUNC. DONE ? 






04720 




OR 


C 








04730 




INC 


HL 


/GO TO NEXT LOCATION 






04740 




JR 


NZ, CLRLP 


/NO, FINISH CLEARING BUFS 






04750 




RET 










04760 
04770 
04780 
04790 

04800 


; 












; 




PROVIDE DUMMY 


DATA FOR WRITE 






I 












04810 


MOVDAT 


LD 


DE.UREC 


/ADDRESS OF USER BUFFER 






04820 




LD 


A, 8 


/LOOP COUNTER 






04830 


HOVLP1 


LD 


HL,LRL001 


/DATA TO BE MOVED 






04840 




LD 


BC,16 


/NUMBER OF BYTES TO MOVE 






04850 




LDIR 




/MOVE THEM 






04860 




DEC 


A 


/REDUCE LOOP COUNTER 






04870 




JR 


NZ,MOVLPl 


/FINISH DATA MOVE 






04880 




LD 


A, 8 


/LOOP COUNTER 






04890 


MOVLP2 


LD 


HL,LRL002 


/DATA TO BE MOVED 






04900 




LD 


BC,16 


/NUMBER OF BYTES TO MOVE 






04910 




LDIR 




/MOVE THEM 






04920 




DEC 


A 


/REDUCE LOOP COUNTER 






04930 




JR 


NZ,NOVLP2 


/FINISH DATA MOVE 






04940 




LD 


A, 8 


/LOOP COUNTER 






04950 


NOVLP3 


LD 


HL,LRL003 


/DATA TO BE MOVED 






04960 




LD 


BC,16 


/NUMBER OF BYTES TO MOVE 






04970 




LDIR 




/MOVE THEM 






04980 




DEC 


A 


/REDUCE LOOP COUNTER 






04990 




JR 


NZ,MOVLP3 


/FINISH DATA MOVE 






05000 




LD 


A, 8 


/LOOP COUNTER 






05010 


MOVLP4 


LD 


HL.LRL004 


/DATA TO BE MOVED 






05020 




LD 


BC,16 


/NUMBER OF BYTES TO MOVE 






05030 




LDIR 




/MOVE THEM 






05040 




DEC 


A 


/REDUCE LOOP COUNTER 






05050 




JR 


NZ,HOVLP4 


/FINISH DATA MOVE 






05060 




LD 


A, 8 


/LOOP COUNTER 






05070 


MOVLP5 


LD 


HL.LRL005 


/DATA TO BE MOVED 






05080 




LD 


BC,16 


/NUMBER OF BYTES TO MOVE 






05090 




LDIR 




/MOVE THEM 

List ing 


continued 



register. The call to Read puts the fifth 
logical record into the user buffer 
UREC. A call to Look lets you view the 
new data in UREC. 

With the reading of all the records 
complete, you can now reenter the pro- 
gram at label CLSENT, where a num- 
ber of things happen in succession. You 
first want to close the file. Do so in the 
same manner in which you built the file, 
with the DE register pointing to the 
DCB and by executing a call to Gose. 

Since you no longer have any use for 
this file, you can also kill it. The only 
parameter you need to kill the file is to 
point the DE register to the DCB and 
make a call to the Kill routine. A suc- 
cessful kill operation returns the zero 
flag set. 

To verify this, look at the disk direc- 
tory to see that the directory no longer 
lists the file name. The subroutine KILL 
now sets the first 16 bytes of the DCB to 
zero. 

The DSPDIR routine displays the 
disk directory. It needs only the drive 
number of the disk from which you 
want a directory, coded as an ASCII 
number in location 4271 hex. If you re- 
member, you put the drive number in 
the location DRVNUM. Picking it up 
here and moving it to 4271 hex, fol- 
lowed by a call to DSPDIR, verifies that 
you killed TESTFILE/TST. The direc- 
tory listing is abbreviated, showing only 
file names. 

Now return to the demonstration 
program. Here, two messages indicate 
that you've closed and killed the file. 
Immediately following this, the pro- 
gram clears the screen and displays the 
directory. 

Enter any character following the di- 
rectory display to terminate the demon- 
stration program with a jump to the 
TRSDOS entry point JP2DOS. 

Two routines not covered in this pro- 
gram are VERF and CMDDOS. VERF 
is the same as Write except that after 
each write to disk, VERF reads the data 
to verify a proper write. 

CMDDOS is similar to COMDOS 
except CMDDOS returns to the user's 
program after completing the routine. 
Of course, if you execute one of your 
programs from another program using 
this command, you must execute a final 
return to ensure that you make it possi- 
ble to return. All the routines just cov- 
ered are limited to accessing user gener- 
ated files only. No system files are 
accessible. ■ 

Write to David G. Haan at 4361 S. 
Estes St., Littleton, CO 80123. 



104 • 80 Micro, December 1983 



Listing continued 








05100 




DEC 


A ; REDUCE LOOP COUNTER 


■ 5118 




JR 


NZ,MOVLP5 j FINISH DATA MOVE 


05120 




RET 




05130 


; 






0514B 








05150 






MESSAGES 


05168 








85178 


1 






05180 


SIGNON 


DEFM 


'ASSEMBLY LANGUAGE DISK I/O ' 


05190 




DEFM 


'FOR THE TRS-8B MODEL III.' 


05200 




DEFB 


BDH 


85218 


SPCMSG 


DEFK 


'ENTER FILENAME. ' 


85228 




DEFB 


BDH 


05230 


LKMSG 


DEFM 


'DO YOU WISH TO LOOK AT ANY DATA?' 


83248 




DEFB 


UDH 


05258 


LRLB81 


DEFM 


'LRL NUMBER ONE. ' 


85268 


LRL882 


DEFM 


'LRL NUMBER TW0 . * 


85270 


LRL8B3 


DEFM 


'LRL NUHBR THREE ' 


05288 


LRL884 


DEFM 


'LRL NUMBER FOUR ' 


85298 


LRLB85 


DEFM 


'LRL NUMBER FIVE * 


85300 


EXTMSG 


DEFM 


■ENTER 3 CHARACTER EXTENSION (E.G. TST) . ' 


05310 




DEFB 


0DH 


05320 


OPNMSG 


DEFM 


'ATTEMPTING TO OPEN FILE.' 


05330 




DEFB 


0DH 


05340 


INITHS 


DEFM 


'INITIALIZING NEW FILE. 1 


85358 




DEFB 


0DH 


85360 


LRL1ST 


DEFM 


•FIRST ' 


05370 




DEFB 


B3H 


05380 


LRL2ND 


DEFM 


'SECOND ' 


85398 




DEFB 


B3H 


85488 


LRL3RD 


DEFM 


'THIRD ' 


85418 




DEFB 


03H 


85428 


LRL4TH 


DEFM 


•FOURTH ' 


85438 




DEFB 


03H 


05440 


LRL5TH 


DEFM 


'FIFTH ' 


05450 




DEFB 


03H 


05468 


WRTBB1 


DEFM 


'LOGICAL RECORD BEING WRITTEN.' 


05470 




DEFB 


0DH 


05480 


CLOSHS 


DEFM 


■CLOSING FILE. ' 


85490 




DEFB 


BDH 


85500 


ROHSG 


DEFM 


'THIS SECTION WILL INVOLVE ' 


85518 




DEFM 


'READING RANDOM LOGICAL RECORDS.' 


85528 




DEFB 


BDH 


85538 


RDLRL 


DEFM 


•LOGICAL RECORD BEING READ.' 


85548 




DEFB 


BDH 


85558 


POSMSG 


DEFM 


•POSITIONING TO THIRD LOGICAL RECORD.' 


BS568 




DEFB 


BDH 


85578 


BKSPMS 


DEFM 


'BACKSPACING ONE LOGICAL RECORD.' 


85588 




DEFB 


BDH 


85598 


DRVMSG 


DEFM 


•FILE EXISTS ON DRIVE ' 


05600 


DRVBUF 


DEFB 


• 


05618 




DEFB 


0DH 


05620 


PILMSG 


DEFM 


'FILE NUMBER IS ' 


05630 


FILNUH 


DEFW 





05640 




DEFB 


0DH 


05650 


REWMSG 


DEFM 


'REWINDING FILE. ' 


05660 




DEFB 


0DH 


05670 


EOFMSG 


DEFM 


■POSITIONING TO END OF FILE.' 


05680 




DEFB 


0DH 


05690 


KILMSG 


DEFM 


'KILLING FILE. ' 


05700 




DEFB 


BDH 


85718 


ENDMSG 


DEFM 


■END OF DEMONSTRATION PROGRAM...' 


85728 




DEFM 


•PRESS ANY KEY TO CONTINUE.' 


05730 




DEFB 


BDH 


05740 


ENTMSG 


DEFM 


'REENTRY POINT IS AT PROGRAM LABEL ' 


85758 




DEFW 


B3H 


05768 


ENT8B1 


DEFM 


'EXTEND. ■ 


85778 




DEFW 


BDBAH 


85780 


ENTBB2 


DEFM 


■OPNFIL. ' 


05790 




DEFW 


BDBAH 


05800 


ENTBB3 


DEFM 


•HEWFIL.' 


05810 




DEFW 


BDBAH 


05820 


ENTB84 


DEFM 


■WRTFIL. ' 


85838 




DEFW 


BDBAH 


85848 


ENTBB5 


DEFM 


'WRTB82.' 


85858 




DEFW 


BDBAH 


05868 


ENTB86 


DEFM 


'WRTBB3.' 


85878 




DEFW 


BDBAH 


85888 


ENTBB7 


DEFM 


'WRTB84. • 


85890 




DEFW 


BDBAH 


B59BS 


EHT6B6 


DEFM 


''wktmmS. "' 


85918 




DEFW 


BDBAH 


85920 


ENTBB9 


DEFM 


'CLOSFL. ' 


05930 




DEFW 


BDBAH 


05940 


ENTB1B 


DEFM 


•GTS PCI.' 


05958 




DEFW 


BDBAH 


05960 


ENT811 


DEFM 


•READ01. ' 


05970 




DEFW 


BDBAH 


05980 


ENTB12 


DEFM 


■POSENT. ' 


05998 




DEFW 


BDBAH 


06000 


ENT813 


DEFM 


•READ02. ' 


06010 




DEFW 


BDBAH 


06020 


ENT814 


DEFM 


•REWENT. • 


06030 




DEFW 


BDBAH 


06848 


ENTB15 


DEFM 


•READB3. ' 


06050 




DEFW 


BDBAH 


86860 


ENT816 


DEFM 


'EOFENT.' 


86870 




DEFW 


BDBAH 


06088 


ENT017 


DEFM 


'BKENT. ' 


86898 




DEFW 


BDBAH 


06100 


ENTB18 


DEFM 


•READS 4." 


86118 




DEFW 


BDBAH 


06120 


ENT819 


DEFM 


'CLSENT. ' 


06138 




DEFW 


BDBAH 


06140 


EXECUT 


DEFM 


'DEBUG' 


06150 




DEFB 


BDH 


06160 




END 


START 



SERIAL PORT 




BTA's MODEL 524 MULTIPORT 
CONTROLLER is a code activated one 
to four serial port expander but that's 
not all since it has separate and mdopen 
dent UARTS. buffers and handshaking 
each port can operate with a different 
configuration ie deferent baud rates. 
stop bits, etc These features also permit 
two or more devices to communicate 
with the 524 simultaneously 



. .'••- lull '. 
pnnt«r 



Full duplex with EIA RS-232 protocol 

Baud rates up to 19,200 

Expansion to 16 ports by cascading 

Peripheral ports may be configured 
by user software 

One year warranty 



•MODEL 524 $249.00 

•MODEL 524A $279.00 

same as model 524 except has 256 byte 
rx tx buffers pei pott 
•MODEL 524 D $269.00 

same as model 524. plus continuous poll 
trig of each peripheral device for data 
transfer requests The device is auto 
matically connected when its turn comes 
up ON BUSY and OFF messages arc- 
sent to the peripheral device 
•Other models available Contact us or 
your dealer for additional information 

BAY TECHNICAL ASSOCIATES. inc. 



HIGMHfAr 603 PO 80* .)«/ 
y BAY ST LOUIS MISSISSIPPI 39520 

6011*67 8231 



+ See List of Advertisers on Page 291 



80 Micro, December 1983 • 105 




The 



PRODUCER 

The Professional Program Writer. 



^59 



What has your computer done for you 
lately? You bought it to be a powerful and 
time saving tool. But if lack of good 
software keeps you frustrated and makes 
your computer an expensive and idle 
gadget, The PRODUCER is here to solve 
your problem. 

Now you can design and produce 
professional quality programs that meet 
your exact specifications and you don't 
even need to understand programming at 
all. 



THE PRODUCER IS A SOFTWARE PACKAGE 
THAT WRITES PROGRAMS FOR YOU. 

Even though you have no knowledge about how to write 
programs, you can now create impressive, sophisticated 
and functional software to manage your data. You answer 
simple English questions, draw your screen on your 
monitor exactly like you want it, and The PRODUCER 
writes the entire BASIC program by itself. 

THE PRODUCER WAS DESIGNED FOR MICRO 
COMPUTER OWNERS WHO CANT FIND THE 
SOFTWARE PROGRAM TO DO WHAT THEY 
WANT IT TO DO. 

You may never need to buy another computer program to 
store and retrieve information, perform calculations on 
your data and get displayed and printed reports. The 
PRODUCER can create customized software of truly 
professional quality. 

The PRODUCER makes the micro computera useful tool 
to the novice and saves many hours of programming time 
for the experienced computer professional. 

IF YOU ARE A NOVICE 

The PRODUCER can make you feel like a pro. The Basic 
code is written for you. You push buttons, answer 
questions and watch the program develop in this 
remarkable process. 

IF YOU ARE A PROFESSIONAL PROGRAMMER 

The PRODUCER can be the time-saver you need to 
increase your productivity and make your job easier. The 
PRODUCER provides many of the advanced features 
found on products that cost many thousands of dollars 
more. You'll be proud to show your clients the 
professional quality programs created by The 
PRODUCER. 




Listen to what one of our users wrote recently: 
The PRODUCER has proven to be the greatest. I used to 
spend 70% of my time writing programs to create, maintain, 
sort, and list data. No More. Days and weeks of 
programming are now reduced to minutes and hours. The 
PRODUCER has increased the productivity of my custom 
software firm by 400%. This product is in a class reserved 
for the best. A Copelle, Northbrook, Illinois. 



HOW DO I LEARN TO USE THE PRODUCER 

In each TRS-80 version, we have provided a systematic 
guided tour of The PRODUCER program generator 
process. For the Model I and III, an audio cassette tape 
tutorial is part of your package. One of your fellow 
PRODUCER owners talks to you as you go through the 
step-by-step lessons. The tapes not only teach you the 
operating process, they enable you to actually create a 
program of your own design while you learn. 

We have provided over 200 pages of thorough 
documentation in The PRODUCER Reference Manual, 
but we encourage you not to read the manual until after 
you have completed the tutorial. We've had many rave 
reviews from our users, like this one from S.R. Foster of 
Pensacola, Florida: 

The tutorial was an excellent starter. Itenabhedmetoget 
on with it without days and days of reading. Veryhelpful. 



WHAT DO YOU GET 
WITH THE PRODUCER? 

You will be impressed with the 
professionalism of the PRODUCER 
package: 

DISKETTE(s) containing PRODUCER 
Program Development System. 
REFERENCE MANUAL of over 200 pages of 
extensive, easy to read, well organized 
material. Attractive hardback 3-ring binder. 
Color keyed index tabs separate the 
chapters. Comprehensive alphabetical 
Index refers to specific chapter subsections. 
QUICK REFERENCE CARD 
REGISTRATION CARD 
TUTORIAL SESSION including audio 
cassettes and detailed follow-along outline, 
written and produced by fellow PRODUCER 
user 

FREE HOME INVENTORY MANAGE- 
MENT PROGRAM ($5995 value as a 
sample) allowing you to use a finished 
program immediately. 

ONE YEAR SUBSCRIPTION to the 
PRODUCER newsletter 

TOLL FREE NUMBER for technical 
assistance, available only to registered 
PRODUCER owners 




Pictured are the components of the Model III version of The PRODUCER. Other versions may vary slightly. 



The 
PRODUCER. 



HOW THE PRODUCER WORKS 

We think you will be impressed with the ease of 
operation and the amazing versatility of features 
you get with the PRODUCER. Here is a step by step 
overview of the program writing process. The 
screen shown is an unretouched photo of the 
Master Menu from which each of these steps is 
selected. 

□ Planning Your Program 

The PRODUCER provides a helpful planning form you can print on your own printer It 
helps you organize your thoughts to create a tailor made program to meet your needs 

D Creating The Screen 

Visible on your monitor will be the screen where information will be entered, edited and 
displayed There are six simple steps to follow in creating your screen 

1. Draw Your Screen 

Using the arrow keys construct the screen in any configuration you desire With single 
keystrokes, enter large graphic letters and borders Edit at will until you are satisfied 

2. Define Message Areas 

Select an area of your screen where The PRODUCER messages to you will appear 

3. Define Input Fields 

The PRODUCER will ask you questions about the areas where you will enter the data 
You specify the length of each area or field, as well as acceptable characters in each 
field 

4. Define Display Fields 

Locate the display fields anywhere you want on your screen These show the results of 
the calculations you want made on your data 

5. Define Custom Prompts 

You select an area where help messages to yourself can be displayed 

6. Save Your Results 

Assign a working name for your program and save it to disk 



Tri Produce 

'■€ PROFESSIONAL PROGRAM WRITER '01982 BY ROGER SMITH 




<1> PLANNING FORM <1> CREATE A SCREEN 

<2> LOGON FILENAME <2> EI IT BASIC DATA 

<3> REFERENCE FOPM <3> PWfE BASIC LINES 

<4> MAINTAIN FILES <4> BUlLC REPOPTS 

<5> FUTURE MENU <5> WILE PROGMM 

<:> .*:.:'■ : "ENJ <6> E-." " I2i 



□ Editing Basic Data 

1 Edit any part of The PRODUCER program you have created -- screen field names, 
lengths, prompt areas, etc 

2 Type in any help message you want as a custom prompt to help you operate the 
program 

3. Easily create calculations for your program using actual field names You can use 
the contents of any numeric field and all math operations including logical operators 

D Making Basic Code 

Press a key. sit back and watch The PRODUCER do all the work of creating BASIC 
code for your program You can see the program lines appear on your screen. 
Complete error- checking is done for you 



D Building Reports 



Virtually any report is available to you thru our NEW free form report generator It 
works with any size paper You are allowed up to 100 calculations within the report 
You can specify exact position of any text information to any position on your paper 
(even preprinted forms, checks, etc ) An amazingly versatile tool. 

□ Building The Program 

Put the finishing touches on your program by selecting cursor type. size, flashing 
speed, auto messages, custom logos, etc After your selections have been made, press 
a key and your entire finished program is created in less than 5 minutes. That's all there 



is to this remarkably simple program generation process 



Continued 



The 
PRODUCER 



TECHNICAL INFORMATION 

The PRODUCER provides many advanced features which aiiow you 
to do "magic" with the programs you create 



The SCREEN GENERATOR 

"Use the full screen (all lines and column positions) 
'Create a professional well organized screen with graphics 
"Save up to 9 separate screens in memory at one time and get 

instant access to each 
'Move the cursor to any location on the screen 
'Replicate bars'hnesgraphics to define certain screen areas 
'Access an instantly available Help Menu of all Screen 

Editor commands 
'Insert and delete any character with a single keystroke 
'Clear or erase selected areas of any screen 
'Insert and delete whole lines on the screen 
'Center any text on the screen 
'Move any rectangular block of text anywhere on the screen 

(block move) 
'Create titles with a single keystroke large graphic letter alphabet 
'Move portions of screens between different screens (cut and 

paste) 
'Save any number of screens to disk at any time 
"Recall any screen from disk any time 
'Create BASIC lines to re-create any screen 

FILE and RECORD HANDLING 

"Rapidly access records with BTREE File structure 

'Search for a record with only the first few letters of the 

name or key (partial key) (Example locate PRODUCER by 

typing PR) 
'Recall and edit duplicate and multiple keys (Example Several 

last names may be the same on a file and you can find 

and edit them individually 

"Fully edit any part of a previously entered record 
'Recover unused space automatically upon deletion of a record 
'Enter data very fast with the special batch mode 
■Recall immediately any record after it's been entered. 

eliminating time consuming sorting and indexing 
'Rapidly access any record anytime (2-4 seconds average) 
'Globally search and replace data in certain fields in 

selected record range 
'Automatically rebuild any file to meet new specifications. No 

need to re-enter data when a file needs to be restructured. 
'Balance any BTREE file automatically to reorganize and speed 

up file access time 
"Recover from power failure and easily rebuild files that have 

been damaged Avoid laborious re-entry of long data files 



SCREEN ORIENTED INPUT 
and EDITING of DATA 

'Insert and delete characters at any position in any field No 

back to start' retyping of data 
"Move forward or back to previously entered fields to edit 

using the arrow keys Totally non-destructive cursor Does not 

require re-entering of each data field 
'Move within any field using the arrow keys 
'Move instantly to any field with Control G command 
'Exit from input edit mode at any point allowing immediate 

escape from data entry mode Allows partial information to be 

entered for each record without the annoying, time 

consuming need to press ENTER for each blank field not used 

at the time of entry 
"Duplicate field information from a previous record with one 

keystroke No need to re-enter duplicate information. 

addresses, etc on consecutive records 
'View a custom prompt your own custom reminder or help 

message for each field with 1 keystroke 
"Verify each character typed automatically 
"Enter data as last as you want, even if you are a speed typist 
'View visible display of automatic field length restrictions 
"View prompts for each field showing number of characters 

allowed 



PRINTED REPORTS 

"Create up to 9 separate reports at a time in a finished program 
"Generate any number of reports you want (no limit) 
'Select reports by name from a report menu in the program 
'Select from six different automatic report formats including 

custom mailing labels 
'Instantly print reports by key with no time consuming sort 

necessary 
'Sort and print any other (non key) field with the fast machine 

language sort 

'Sort only records that meet your search criteria 
"Sort on more than one field if desired 
'Use any restrictions or search criteria to determine which 

records will be included in a report 
"Use any number of multiple search cntenea (including logical) 

(Example You can search for all the males who are single. 

and drive a car that are over 24 years old but less than 

35 years old 
"Send any special command to your printer before or after any 

report 

"Specify any line length needed and any page length desired 
"Select single line or multiple lines per record, even one page per 

record 
"Total any fields during the report (running totals) 

FREEFORM REPORT GENERATOR 

Option.il at onJy $49.95 

'Specify column and row of every heading and field 

'Allow up to 100 of interf ield calculations, even string 

calculations 

"Include any text anywhere on the screen 
'Keep sub-totals on any field and print at any time in any format 
'Format any numeric fields anyway you wish 
'Print reports on pre-pnnted forms checks, etc 
'Create form letters with merged field data with no word 

processing necessary 
'Put any field anywhere on the page No limitations 

ADVANCED CALCULATIONS 

"Globally recalculate any field in any or all records 
(Example If file is a list of gold assets and the spot price 
changes, each separate asset may be recalculated with 
a new value for the spot price) 

"Use all math operations including exponentiation and 
trigonometry 

"Use logical calculations such as And. Or Not. etc 
'Use any level of parenthesis in calculation formulas 
'Save results in any field and display results in any field 
'Store temporary results in several extra memory slots 
'Pass calculation results between records 
'Determine the exact order of calculations 
"Display or save results at your option in the finished record 

OTHER ADVANCED FEATURES 

"Edit any part of any program without starting over or redefining 

the entire program 
'Create screen and input modules only (for professional 

programmers) 
'Create Calculate-only programs with the easy desk-top super 

calculator program 

'Design custom logos for your program 
'Control cursor type. size, flash speed, etc 
"Design custom prompts or help info for any field 



YOU ALSO GET 

'FREE 1 year SUBSCRIPTION to PRODUCER Newsletter 
'TOLL FREE assistance number for all registered users 
•REFERENCE MANUAL of over 200 pages 
'FREE audio TUTORIAL 



The 
PRODUCER, 



WHAT ARE PRODUCER USERS SAYING? 

We continue to receive testimonials from satisfied users almost every day. 
Here's a sampling of the feedback we are receiving: 



VALUE 

VERY impressive! No matter how much I 
use the PRODUCER, there is no doubt I got 
my money's worth. It is clear the program, 
packaging and tutorial are developed 
with lots of thought... .Very user friendly! 
Congratulations! 

R. N. Forbes. Los Altos Hills. California 

The PRODUCER package I received was 
excellent The finest software package I 
have ever purchased. Far beyond my 
expectations. 

S. R. Foster. Pensacola. Florida 

/ think the PRODUCER will save me so 
much time that it will give me the time to 
do the more important tasks that my 
business calls for and the money III save 

from not having to buy canned programs 
that are overpriced. Now with the 
PRODUCER I can write a program 
overnight to do almost anything I want it 
to do and with written reports to boot. 
Talk about saving time and money. IJeel 
the PRODUCER will pay Jot itself with my 

first three programs. 

S. Tornatore. Canastota. New York 

The PRODUCER is a very impressive 
software package. It is well worth the 
money. While other micro owners are 
printing mailing labels. I am now selling 
them programs to use. I now have more 
time to spend enjoying my computer. 

V. E. Ryberg. Bloomington. Illinois 

I'm in love with the PRODUCER It's one of 
my favorite programs. 

R. Selsback. Burlingame. California 

It was very complete and professionally 
done The packaging and program seem 
to have been thought out before assembly 
and sale. The 'value' of the deal 
everything included was the best Tve 
seen to date. 

G. Slusher. Martin. Kentucky 

Very professional packaging. It gave the 
feeling of getting your moneys worth 
before even running the program.. .Very 
easy to use and leaves veryfew questions 
unanswered.. As you can see. I like the 
PRODUCER and was impressed with how 
trouble free it is. 

A. C. Vincent Napa. California 

Excellent Above and beyond other 
software. 

R- Hapgood. Henrietta. Texas 



VERSATILITY 

The PRODUCER is the best all purpose 
program generator I have used. (We have 
tried almost all of them.) The generated 
code is bug free, well commented and 
efficient. 

R. A. Copella Northbrook. Ilinois 

J bought the PRODUCER to save time. I 
feel capable of being able to write almost 
all programs I need. The PRODUCER 
generated programs will save a lot of time 
writing basic code and debugging. Using 
the PRODUCER I can write a good 
database type program using math 
calculation in about three hours. I don't 
have to tell you how long it would take 
writing the same program from scratch. 
S. Tornatore. Canastota. New York 

A special thanks to Roger and all of you. 
You ve made my computing life easier 
and better. My 10 year old can't wait to 
get his hands on the PRODUCER. 

J. D. Konkler, Columbus. Ohio 



DOCUMENTATION 

The Reference Manual is a work of art. 
Not only is it attractive and easy to use. it 
is so well organized, documented and 
logically written that the manual is a 
rarity in the software market place. 

S. R Foster. Pensacola. Florida 

One of the best I've seen. We write about 
20 volumes of material per year. Take it 
from a 'pro', it's good! 

J. Crespi. Sherman Oaks. California 

The PRODUCER Reference Manual is 
professionally written to provide ready 
acess to easily understood answers to 
questions which arise during use of the 
PRODUCER. 

R. A. Copella. Northbrook. Illinois 

The Reference Manual is supreme and 
superior to anything I have worked with. 

R. A. Neuman. Okemos, Michigan 

Very well laid out and organized. One of 
the best Vve seen. 

J. D. Konkler. Columbus. Ohio 



QUALITY 



Thank you for an excellent program. I 
agree that The PRODUCER will change 
the entire concept of program creation in 
the future. But for now. you stand as the 
best data-base-management-system I 
can buy. 

E. Sung. Vancouver. B.C. 

Your system really is Software of the 
Future. Your staff has insight others of us 
only dream of Congratulations on a 
product of extraordinary design. 

S. R. Foster. Pensacola. Florida 

This is an excellent program. At this 
point I am totally pleased. This is by far 
my number one software and I will use it 
anywhere and everywhere I possibly can 
both personal and business. Once again 
congratulations to all of the people 
involved. 

R. A. Neuman. Okemos. Michigan 

Comparison shopping indicates the 
PRODUCER'S superiority to all others. 
And I already own most of the others. 

R. A. Copella. Northbrook. Ilinois 

Glad to see you take an interest in what 
some of us hackers are up against. I think 
the PRODUCER will make the software 
hackers upgrade their products to this 
high level quality of the PRODUCER. Tm 
sure you realize that there is a lot of 
garbage on the market 

D. J. Smith. Lombard. Ilinois 

/ was impressed by the professional 
appearance of your program. Other 
software I have received were on copy 
paper and stapled into a booklet with 
very vague instructions. 

W. J. Mahaffey. Absecon. N. J. 



USE 

The program is almost idiot proof. 

J. Crespi. Sherman Oaks. California 

It is a very friendly friend and we will be 

working together for some time to come. 

R. A. Neuman. Okemos. Michigan 

Very easy to use and leaves very few 
questions unanswered. 

A. C. Vincent Napa. California 




The PRODUCER 



MODEL I version $149.95 

MODEL III version $149.95 

Available FALL/83 for 

MODEL II $299.95 

MODELIV $199.95 

MODEL 12 $299.95 

MODEL 16 $299.95 

MODEL 16 XENIX $499.95 

IBM - PC $299.95 



PRODUCER 
SOFTWARE 

Box 1245 
Arlington, Texas 

76004-1245 
Texas 817-274-6998 

800-433-5355 



GENERAL 



Finding the Search Solution 



by Joseph E. Trojak 



T 



hese two Assembly-language programs use 
signature screening techniques that help 
you easily maintain and search large text files. 



If you have large text files that re- 
quire efficient indexing and searching 
methods, Mindex and Search can help. 
Potential applications for these pro- 
grams include indexing personal litera- 
ture collections, client or patient rec- 
ords, mailing lists, card catalogs, and 
so on. 

Most information retrieval programs 
for microcomputers use sequential 
searching techniques that are exceeding- 
ly slow, or use indexing systems that re- 
quire laborious coding of key words. 
Mindex and Search use a method that 
quickly searches large files of text and 
avoids the problem of coding key words: 
signature screening. 

The first part of this article reviews 
file searching techniques and explains 
the signature screening method. The 
second part describes how to apply the 
signature screening method to 8-bit mi- 
crocomputers, and lists the Assembly- 
language source code for Mindex and 
Search. 

Both programs run on the Models II, 



The Key Box 

Models D and m 

64KRAM 

Assembly Language 

Radio Shack Assembly Language 

Development System (ALDS) or 

EDTASM 



12, 16, and III with 48K RAM and one 
or more disk drives. 

First, a few basic definitions. A key is 
that part of a record that identifies the 
record during a search. Primary keys 
uniquely specify a record. For example, 
when each record in a file contains the 
name, address, age, and social security 
number of a client, the social security 
number is a primary key for each rec- 
ord. It lets you call up a single, unique 
record. 

Neither the name, address, nor age is 
sufficient to uniquely specify a record, 
so each is termed a secondary key or at- 
tribute. To avoid confusion I'll use the 
term search key to refer to the item 
you're searching for, and the term rec- 
ord key to denote the part of the record 
you're searching. 

File Searching Techniques 

Sequential Search 

This is the simplest search technique. 
You start at the beginning of a file and 
compare every record key in the file 
with the search key until you find a 
match or the end of the file. 

An example of this searching tech- 
nique is that employed by a slow-witted 
detective who has a telephone number 
and needs to find the name and address 
of the person who leases the telephone 
line. The detective gets a telephone 
book, starts at page one, and compares 
every telephone number with the one he 
is searching for until he finds the exact 
number. 



If the detective is lucky, the name be- 
gins with A; if he is very unlucky, it be- 
gins with Z. Most detectives would just 
dial the number and ask questions. 

Binary Attribute Search 

In this search technique, each record 
has a number of attributes (secondary 
keys), each of which has only two possi- 
ble values: yes or no (true or false). 
Given a set of attributes, you can find 
all the records with these attributes by 



Suspect: Bugsy Moran 



A 



Criminal Record 
Military Service o 
College Education o 
IRS audit < 
Alibi ol 
United States Citizen-^ 
Relative of Victim o 
Alcohol Abuse o 
Motive ^ 
o 
o 




o 
o 




o 



o 




o 



o 



o 

o 



Figure 1. Edge-notched card for suspect Bugsy 
Moran. 



110 • 80 Micro, December 1983 



comparing corresponding true and false 
values. 

Our detective has a list of 200 sus- 
pects in a case on which he is working, 
and has the following information on 
each suspect: criminal record, military 
service, college education, IRS audit, 
alibi at time of crime, United States citi- 
zen, relative of victim, history of alco- 
hol abuse, and motive for the crime. He 
wants to find all suspects who have a 
criminal record, no alibi, and a motive. 

He goes to his local stationery store, 
purchases edge-notched cards, and 
codes them as shown in Fig. 1 . Each at- 
tribute has a hole at the edge of the 
card. If an attribute is true, a notch is 
cut out of the card next to the attribute; 
otherwise the hole is left intact. 

In Fig. 1, you can see that Bugsy 
Moran has a criminal record, no alibi, 
and a motive. Our detective makes his 
search in the following way: He ar- 
ranges all 200 cards in a deck and puts a 
needle through the holes for the alibi at- 
tribute, then lifts the deck by raising the 
needle. All records of suspects with 
alibis fall out of the deck and he can ex- 
clude them. 



Automobile Model 


Notch Code 


Buick 


99 21 


Cadillac 


54 83 


Chevrolet 


41 78 


Chrysler 


07 31 


DeSoto 


67 81 


Dodge 


46 IS 


Edsel 


66 10 


Ford 


73 09 


Hudson 


32 77 


Lincoln 


28 41 


Mercury 


12 88 


Nash 


34 89 


Oldsmobile 


59 42 


Packard 


44 75 


Pontiac 


74 28 


Plymouth 


57 71 


Rambler 


93 14 


Rolls Royce 


61 85 


Studebaker 


01 94 


Volkswagen 


57 39 


Automobile Color 


Notch Code 


Black 


40 74 


Blue 


02 77 


Brown 


04 14 


Chartreuse 


15 80 


Gray 


69 52 


Green 


23 94 


Maroon 


29 44 


Red 


39 15 


White 


70 96 


Yellow 


59 20 


Table I. Superimposed notch codes for 


automobile model and color. 





The detective takes the cards that 
didn't fall out and puts needles into the 
holes for the criminal history and mo- 
tive attributes. When he lifts the 
needles, all records of suspects with a 
criminal past, no alibi, and a motive for 
the crime fall out. This amounts to 10 
cards; he has narrowed his search to 10 
out of 200 suspects. 

You can consider the holes and 
notches in the edge-notched card as a 
string of bits. For any attribute, the bit 
is either zero (the hole is intact) or 1 (the 
card has a notch). The attribute bit 
string of each record is called the 
record's signature and is an index of the 



record's attributes. 

Binary Attribute Search of 
Superimposed Codes 

This technique is similar to the simple 
binary attribute search except that the 
signature has more attributes than bits. 
The principle is to map a set of m binary 
attributes from a record into a set of n 
codes, then superimpose the codes for 
each attribute onto an n-bit signature. 

Our detective is so enamored with his 
success in pruning his suspect list, he de- 
cides to use edge-notched cards for an- 
other purpose. In his state, automobile 
license numbers comprise three two- 





oOO 


1954 Studebaker 


50 


u 




Studebaker code . 


>01 


Color: 


blue 


51 


o 




Color blue code 




Lic#: 23-56-46 


52 


o 






o03 


OwneT 


: John Doe 


53 









o 04 




5 Waterfront 


54 


o 






o 05 






55 









o 06 






56 


< 


License no. 




o 07 






57 









o 08 






58 









o 09 






59 









10 






60 


o 






o 11 






61 









o 12 






62 









o 13 






63 









o 14 






64 









o 15 






65 









o 16 






66 









O 17 






67 









o 18 






68 









o 19 






69 









o 20 






70 









o 21 






71 


o 






o 22 






72 


o 




License no. 


o 24 
o 25 
o 26 






73 
74 
75 
76 




o 


o 






027 






77 


< 


Blue code 




o 28 






78 


o 






o 29 






79 









o 30 






80 









o 31 






81 









o 32 






82 


o 






o 33 






83 









o 34 






84 









o35 






85 









o 36 






86 









o 37 






87 









o 38 






88 









o 39 






89 









o 40 






90 









o 41 






91 









o 42 






92 









o 43 






93 









o 44 






94 


< 


Studebaker code 




o 45 






95 







License no. 


S46 

o 47 
o 48 
o 49 






96 

97 
98 
99 






o 

y 





Figure 2. Edge-notched card for a blue Studebaker with license number 23-56-46. 

80 Micro, December 1983 • 111 



digit numbers (72-54-81). There are one 
million possible license numbers. 

Often, a witness to a crime remem- 
bers only one or two of the pairs of 
digits, so our detective devises a method 
that lets him quickly determine the 
owner of a vehicle when he knows only 
part of a license number. 

He buys cards with 100 holes and 
uses the following coding technique: He 
numbers the holes in the card zero to 99. 
For each pair of digits in the license 
number, he makes a notch correspond- 
ing to the number in the appropriate 
card hole (Fig. 2). Additionally, he 
codes 20 models and 10 car colors as 



shown in Table 1. 

The detective obtains a registration 
list from the Department of Motor Ve- 
hicles (DMV) and starts to code all the 
information about 200,000 automobiles 
in his city onto cards. One year later, 
just as he finishes his task, he gets a call 
from a client whose TRS-80 was stolen. 

The client saw the get-away car (a 
blue Studebaker) drive off, but could 
read only the first and last pairs of digits 
from the license plate. The DMV com- 
puter is broken so the police can't 
search the motor vehicle registry data 
base until tomorrow, but the client 
needs his computer today. 








00 


1952 Dodge 


50 


o 




License no. t 




01 


Color: 


green 


51 







License no. 




02 


UcM: 77-01-02 


52 









o 


03 


Owner 


John Smith 


53 


o 






o 


04 




5 Dock St. 


54 












05 






55 









o 


06 






56 









o 


07 






57 


o 






o 


08 






58 









o 


09 






59 


o 






o 


10 






60 


o 






o 


11 






61 


o 






o 


12 






62 


o 









13 






63 


o 






o 


14 






64 


o 




Dodge code 


> 


15 






65 


o 






o 


16 






66 


o 






o 


17 






67 


o 






o 


18 






68 


o 









19 






69 


o 









20 






70 


o 






o 


21 






71 


o 









22 






72 


o 




Green code 


> 


23 






73 


o 






o 


24 






74 


o 






o 


25 






75 


o 






o 


26 






76 


o 






o 


27 






77 


< 


License no. 







28 






78 


o 






o 


29 






79 


o 






o 


30 






80 


o 






o 


31 






81 


o 









32 






82 


o 






o 


33 






83 


o 









34 






84 


o 






o 


35 






85 


o 






o 


36 






86 


o 






o 


37 






87 


o 









38 






88 


o 






o 


39 






89 


o 






o 


40 






90 


o 






o 


41 






91 


o 






o 


42 






92 


o 






o 


43 






93 


o 






o 


44 






94 


< 


Green code 







45 






95 


o 




Dodge code 


> 


46 






96 


o 









47 






97 


o 






o 


48 






98 


o 









49 






99 


? 


) 



112 



Figure 3. Edge-notched card for a green Dodge with license number 77-01-02. 
80 Micro, December 1983 



The detective takes his cards, puts 
them in a neat deck, then places very 
long needles through the holes corre- 
sponding to the digit pairs 46 and 23, 
the color blue, and the automobile 
model Studebaker. Three cards fall out 
of a deck of 200,000 cards. The detec- 
tive sequentially searches the three cards 
and finds that only two are Stude- 
bakers. He has narrowed his search 
from 200,000 to two. 

Both Studebakers are blue: one with 
license number 46-79-23 and the other 
23-46-42. The model and color codes 
are the same and the detective specified 
only two of the three possible two-digit 
numbers from the license (23 and 46), so 
the signatures of both automobile rec- 
ords fit the search. 

But why did the third car, a green 
Dodge, also fall out? The code for the 
color green is 23 94 and the code for the 
model Dodge is 46 15. The green Dodge 
that fits the search key had license num- 
ber 77-01-02. The notches in the card 
(23, 94, 46, 15, 01, 02, 77) corresponded 
to every needle placed in the deck (Fig. 
3), so the card fell out along with the 
two Studebaker cards. 

The detective used a primitive coding 
scheme. Elaborate methods have been 
developed for both edge-notch cards 
and bit-string computer searches. Sig- 
nature screening, which you'll use to 
search text files, is a variation on the 
method the detective employed. 

Tree Search 

In tree searching techniques, records 
are arranged in some order (numerical, 
alphabetical, and so on). Either the rec- 
ords within the data file are ordered, or 
a separate index file contains ordered 
information (keys) that points to the ap- 
propriate records in a file. 

You start searching anywhere in the 
file. If your search key doesn't match a 
record key, you move your search closer 
to the beginning or end of the file de- 
pending on whether the search key is 
greater or less than the key of the record 
just searched. 

As an example of this searching tech- 
nique, consider the slow-witted detec- 
tive. This time he has a suspect's name 
(John Smith) and wants to know where 
the suspect lives. Since names in the 
telephone book are ordered (sorted al- 
phabetically), the detective uses the fol- 
lowing search algorithm. 

He opens the telephone book to the 
middle and finds names beginning with 
the letter K. He knows that the letter S is 
between K and Z, so he divides the re- 
maining pages in half and finds names 
beginning with R. One more division 



# • FREE SHIPPING* 



I 



WITHIN CONTINENTAL 48 STATES 
ON PREPAID CASH & COD ORDERS ONLY. 




TOLL FREE ORDER UNE % 

1-800-223-1182 

ORDERS ONLY 

New York Orders & Information 
Call (212) 445-7124 



STOP A SHOP 

D BOOKS □ SOFTWARE 
O PRINTERS D RIBBONS 
D COMPUTERS C ACCESSORIES 

SPOOLERS C MODEMS 

□ DISKETTES 2 MONITORS 



RIBBONS 

Receive a FREE RIBBON when you place an 
order over $100.00 and mention this ad. 
Specify which cartridge or reload you require 
when ordering. Otfer includes all reloads and 
cartridges listed except MX100, ANADEK 
and CENTRONIC cartridges. Offer good 
November 30. 1983. Limit one per order 



$124.95 

DATAWRITER 

NEW VERSION 
SPECIFY MDL I or III 



$129.95 

COPYART II 

MODEL I or III 
SPECIFY PRINTER 




$89.95 

MULTIDOS 

SPECIFY MDL I or III 

SINGLE OR DOUBLE DENSITY 



$139.95 

LAZYWRITER 

MDL I, III or IV 

SEE LAZY OPTIONS BELOW 



NEW SCRIPT 7.1 $109.95 

with Mailing Label Option. .$119.95 

Mailing Label Option Only ...27.95 

See Prosoft Options Below 



MAXI CRAS 


MAXI MGR. 


Model l/lll 


Model l/lll 


$79.95 


$99.95 



SUPERUTILITY + 

Mod l/lll Ver. 3.1 $59.95 

See New Book Below 



DOSPLUS 

Ver. 3.5 
Model I or III 

$ 119.95 



MZAL 

Rel. Ill 
Model I or III 

$ 84.95 



LDOS 

Model I or III 

M14.95 



DOTWRITER 

3.0 

$ 69.95 



SNAPP 
WARE 

10% Off 



DOSPLUSII 

Model II 

199.95 



ELECTRIC 
WEBSTER 

w/corr 

$ 129.95 



ZORLOF 

Model I or III 

$ 64.95 



PROSOFT UTILITIES 

TRASHMAN Model I or III $34.95 

FASTER - Model I or III 26.95 

RPM- Model I or III 21.95 

LAZY OPTIONS 

LAZY FONT (Epson) 44.95 

LA2^T MERGE 39.95 

LAZY DOC 49.95 

LAZY Draw, Do, Ta b, Calc . 34.95 

MAIL LIST PROGRAMS 

POWER MAIL PLUS-Mdl 2/12/16 129.95 

POWER MAIL PLUS-Mdl l/lll 129.95 

POSTMAN MASS MAIL-Mdl l/lll 74.95 

MAXI MAIL-Model III 79.95 

TALLYMASTER - Model I o r III 69.95 

MICROTERM - M odel I or III 69.95 

TZAL — Model III Tape 39.95 

BASIC EDITOR - Model l/lll T ape 24.95 

MAS 80 Acctg System 

Integrated G/L, A/R. A/P & Ck Reg. 

Retail $599.00 OUR PRICE S490.00 

Overview — $5.00 Credited on Purchase 



BOOKS 



How To Do It on the TRS 80 ijg 

Machine Lang. Disk I/O ijg 

TRSDOS 2.3 Decoded ijg 

Disk + Other Mysteries ijg 

Basic Decoded ijg 

Custom TRS-80 ijg 

Basic Faster & Better ijg 

Model 11/16 Visicalcwc Brown 

Model l/lll Visicalc WC Brown 

BFBLIBorBFBDEMDisk 

Inside Superutility Plus 2.2 or 3.0 
Electric Pencil Manual 
CPM Users Guide 



27.95 
27.95 
27.95 
20.95 
27.95 
27.95 
27.95 
16.95 
16.95 
17.95 
17.95 
22.95 
15.95 



SPECIAL 

LNW BO Model II 

With Software Bonanza! 

Includes: LNW Accounting Series • G/L, A/P. A/R & 
Payroll, Electric Spread Sheet. Electric Pencil. Micro 
term. Chart-ex, CPM 2.2. DOSPLUS & LNW Basic 
RETAIL $1995 OUR PRICE $1006.00 

LNW SYSTEM EXPANSION II 349.95 

LNW 5/8 DOUBLER 169.95 

PRINTER STANDS 




SPACE AGE 

MX80 No Frills 
MX80 Space Age 
Microline 82A Space Age. s .oi 
Microline 83A Space Age* sioi 
NEC 8023A Space Age 
MX 100 Space Age 
Multiuse- 18x12x6x'/4 



NO FRILLS 

ca. 13.50 b mmiSM 

27.50- : - 29.95 
zm 27.50 b o-u, 29.95 

Dear 34.95 Bronze 39.95 

27.50 29.95 

cea- 34.95 B-on/e 39.95 

C*» 24.95 B-on/t N/A 



MICROBUFFER Parallel or Serial (Epson) 1 39.95 

GEMINI 10X 329.95 



MICRO SPOOLER By Consolmk 16K 
64K 



179.95 
269.95 



HAYES SMARTMODEM 300 229.95 

HAYES SMARTMODEM 1200/300 579.95 



LYNX AUTO DIAL/ANSWER MODEL l/lll 



239.95 



ZIP BOX RELOADS 

VS Doz. Doz. 

Epson MX 70/80-20 Yds. 24.00 42.00 

Epson MX 100-30 Yds 30.00 52.00 

NEC/Prowriter-14 Yds 21.00 36.00 

Centronics 730/737/739/779 or 

LPI/ll/IV-16 Yds 18.00 32.00 

AH ZIP BOXES are individually sealed olack nylon and require no 
rewinding Epson Reloads also available in red. Blue Drown green & 
purple Any mix allowed 



CARTRIDGES 





Each Doz. 


Epson MX70/80 


7.00 70.00 


Epson MX100 


12.00 125.00 


Prowriter 8510 & NEC 8023A 


7.50 80.00 


RS LP lll/V 


6.50 70.00 


RS LP VI/VIII 


6.50 65.00 


RS DSY WH II or DWP 410 


6.50 70.00 


RS DSY WH II - Nylon 


6.50 70.00 


MICROLINE 80/82A/83A/92 


N/A 30.00 


MICROLINE 84 V? x 40 Yds 


5.50 60.00 


ANADEK - 9000 Series 


13.00 135.00 


Diablo Hytype Il-Multi Strike 


6.50 65.00 


Qume-Multi Strike 


5.00 50.00 


NEC-5500/7700-Multi Strike 


7.00 70.00 


Centronic 703/04/53 


11.00 120.00 



Note: All cartridges black only. 
Minimum order 3 cartridges - any mix. For smaller quan 
titles, add $1.50 per order All our reloads and cartridges 
are manufactured by one of the oldest and most 
reputable ribbon manufacturers in the country. 
—QUALITY GUARANTEED— 



FOR THE CO CO 

Sea Dragon - 32K Tape 28.95 

Rearguard - 16K Tape 19.95 

Diskey - 32K Disk 39.95 

Eliminator - 16K Tape 19.95 

Triad - 32K Tape 28.95 

Earthquake - 16K Tape 19.95 



Micro Images Industries Inc. 

^^^ m 164-06 Crocheron Ave. Dept. L 
visa- Flushing, N.Y. 11358 

(212)445-7124 ^ ,57 

HOURS: MotvThurs. 10AnV6PM; Fri. & Sat. 10AM-5PM 



ORDERING INFORMATION 

COO Orders add $2 00. Minimum credit card order $25.00. FREE shipping on aH COO and 
prepaid cash orders within the continental 48 states via UPS Ground. Actual shipping and in- 
surance charges apply on all credit card orders, approved P/O's and shipments outside the con- 
tinental 48 states. Certified Ck, M/0, COD and credit cards shipped immediately. Please allow 2 
weeks for personal checks. Credit card orders shipped to card address only. Prices subject to 
change without notice. New York State residents please aid appropriate sates tax. ^^ 



and search, and he finds names begin- 
ning with T. 

He continues his search in the oppo- 
site direction, and after five more di- 
vide-and-search sequences he locates 25 
John Smiths. The detective could have 
made his search more efficient if he had 
used information he already possessed: 
his knowledge that names beginning 
with S are closer to the back of the tele- 
phone book than to the front. 

The many different tree searching 
techniques include binary searches, in- 
dexed sequential access methods, and so 
on. All require that the information 
you're searching for have some order so 
that comparisons between a search key 
and a record key determine in which di- 
rection the search branches (toward the 
beginning or end of a file). 

Hash Search 

In hash searching techniques, you 
can store the source file records in any 
order. The hash searching program per- 
forms a sequence of mathematical oper- 
ations (hash functions) on the search 
key, and produces a value that points to 
the appropriate record. 

The detective has decided that he 
must use high technology to keep up 
with the competition. He buys a Model 
12 and a 12-megabyte hard disk drive, 
has a data-entry clerk type all the infor- 



mation from the telephone directory 
into one large file, then hires a high 
school student to write a data retrieval 
program that quickly searches the file 
by name, number, or address. 

The student realizes that sequential 
search techniques are too slow and that 
Microsoft Basic doesn't support ISAM 
files. She writes a program to convert 
every name into a code that indicates 
where the program stores the record in 
the file. 

The hash function is simple: The 
ASCII values of the characters compris- 
ing an individual's name are multiplied 
together, then divided by 200,001. The 
remainder of the division is the record 
number at which the program stores the 
name, address, and telephone number. 
Formally, 

n 
h(k) = (7ia i ) mod 200,001 

where h is the hash function, k is the key 



Because the program listings in 
this article are so long, we had to 
print them at a size smaller than 
usual. We apologize for any inconve- 
nience this causes. 

To buy these programs on disk, 
see the ordering instructions on p. 
204.— Eds. 



(in this case the person's name), n is the 
number of letters in the person's name, 
and ai is the ASCII value of the ith char- 
acter in the person's name, n is the 
product aj-a2- -an and mod is the mod- 
ulus of the quantity in parentheses (the 
remainder after the number in paren- 
theses is divided by 200,001). 

The student finishes her task and goes 
away for summer vacation. The detec- 
tive needs to find the address of James 
Joyce. He sits down at his computer 
and types in the search key, "James 
Joyce". Instantly a name, telephone 
number, and address appear on the vid- 
eo display. Unfortunately, the name is 
Joyce James, not James Joyce. Our de- 
tective has experienced a collision — two 
distinct record keys hashed to the same 
number. 

The detective is disappointed and 
afraid that he'll have to use the tele- 
phone book. Then he notices a message 
at the bottom of the screen: "Press N 
for next record". He presses N. The 
computer pauses for a brief moment 
and displays the name James Joyce. 
The student incorporated a collision- 
handling routine into her program. 

Signature Screening 

Tree and hash searching methods are 
appropriate for records that contain 
specific fields (name, address, tele- 



38991 

99992 
28193 
aim 

••••5 
f»M6 

3DBC7 
1M18 
19919 
•Ml* 
•••11 
•••12 
•••13 

• ••14 

• •(15 

• •tie 

• ••17 

• ••18 
•••19 

■ 1923 



HIHDEX INDEXING 


PROGRAM FOR MODEL II 




MASTER SECTION: 


links njin. program with Model 
;and general purpose routines 


II I/O routines 




SOFTSHELL CORPORATION ALL R 





PROGI1 

START 



PSECT 

EXTERN BEGIN 

JP BEGIN 

LINK 'M3/REL' 



/main program 

mote: the program is called N3 because 

iwas originally developed on Model III 

lln its current forai it will work with 

/Model II or in given the proper I/O 

/module 

/general programs 

■Model II I/O routines 



Program Listing 1. Assembly-language listing of Mindex2/SRC. 



Ui 1 


Source 


in* 




• •••1 


/SEARCH 2/ SRC... 


.2 




• •••3 

•«••« 








/SEARCH PROGRAM 


FOR MODEL II 




••••5 


/MASTER SECTION 


links S3, GP, 


S30PEN, S3DSP, S30PT and MODI I 


• •••6 

• •••7 
HIM 

• •••• 

• Mil 

• ••11 
•••12 


/COPYRIGHT 1983 


SOFTSHELL COR 


PORATION ALL RIGHTS RESERVED 


PROG 1 1 PSECT 




/begin relocatable program section 


EXTERN 


BEGIN 


/BEGIN • start of S3 


START JP 


BEGIN 




•••13 


LINK 


■S3/REL' 


/SEARCH program proper 


•••14 






/note: the program is called 


• ••IS 






i S3 because it was originally 


• ••16 






/developed on the Model III 


• ••17 






/In Its current form it will 


• ••18 






/work with Model II or III 


• ••19 






/given the proper I/O module 


iitai 


LINK 


'GR/REL' 


/general routines 


•••21 


LINK 


'S30PEN/REL' 


/SEARCH open files routine 


• ••22 


LINE 


'S3DSP/RBL' 


/SEARCH display 


• ••23 


LINK 


'S30PT/REL' 


/SEARCH options 




LINK 


'KOOIl/RIL' 


sHodel II I/O routines 


•1(2% 


£NO 


START 




Program Listing 2. Assembly-language listing o/Search2/SRC:l. 



Program Listing 3. Assembly-language listing of MODII/SRC. 


Ln 1 

1MB] 


iHOOII/ 


SRC VERSION - 1 .2 




• •••2 


iJun 21 


, 1983 






• •0*3 

• •••4 

Mils 

•9)96 










MODI I 


PSECT 


/Model II 


U'J routine. 


/MAP MODI! I/O ROUTINES, 


SUFFERS AND PARAMETERS 


• •••7 


/COPYRIGHT SOFTSHFLL 1981 


ALL RIGHTS RESERVED 


••••a 


















■Mil 


MOD 1 1 


PSECT 




/begin relocatable program section 


• ••18 


















• ••11 








/public routines 


J9B12 










• •813 




PUBLIC 


BOTTOM 


/position corsoi tu last line o£ screen 


• ••14 




PUBLIC 


CLOSE 


/close file (DE->DCB) 


• ••IS 




PUBLIC 


CURPOS 


/determine cursor pos icoor:BC) 


• ••16 




PUBLIC 


UISBKK 


/disable ureak (lor Model II) 


• 8917 




pl'blic 


DIVIDE 


/divide A into HL 


■Mil 




PUBLIC 


DOSCMD 


;3F to TRSDOS and execute comrjnd 


Mill 




PUBLIC 


ERASE L 


/erase to end of line 


19)28 




PUBLIC 


IRASES 


/erase tu end of screen 


• ••21 




PUBLIC 


ERRDSP 


/MAP error display routine 


•••22 




PUBLIC 


HOME 


/position cursor to top line of screen 


•••23 




PUBLIC 


rait 


/Initialise iile (create/open, pos to 1st rec) 


• 8B24 








; (DE-XJCB, HL-^rec buf) 


•9925 




PUBLIC 


JP2DOE 


1 )p to TRSDOS 


98926 




PUBLIC 


KBCHAR 


/get char (or null! frotr keyboard 


99927 




PUBLIC 


KBINIT 


/Initialize keyboard (Mod III 


HIM 




PUBLIC 


KB1.IN3 


/get line fro/r Keyboard and end with (3 


99929 




PUBLIC 


KBLINF 


/get line fror, keyboard and end with 9DH 


■ M3I 




PUBLIC 


KBKAIT 


/wait for char irorc keyboard 


81831 




PUBLIC 


KEYIN 


/get search «ey(s| form keyboard 


•••32 




PUBLIC 


NOVELS 


jir.ove line fro-, screen to buffer 


99933 








jHL->buf, D-no. char, RC-curaor coor 


• ••34 




PUBLIC 


MULT 


/multiply routine 


98)35 




PUBLIC 


NEWLf. 


j role screen and pos cur to next to last line 


98936 




PUBLIC 


OPEN 


/open file (DE->DCB, HL->record buffer) 


• ••37 




PUBLI C 


OPINIT 


/open and initialize file 


99938 








1 (DE->DCB, HL->record buffer) 


9««39 




PUBLIC 


POSCUR 


/position cuisor (coordinates in BC1 


99149 




PUBLIC 


POSEOF 


/position to end of file 


• 9841 




PUBLIC 


POSN 


/position to record in file 


99942 




PUBLIC 


PRINIT 


/initialise printer 


••943 




PUBLIC 


PRUNE 


/print line (HL-^buf, B-no. char, C-end char) 


89944 




PUBLIC 


PRSCN 


/print entire screen 


99945 




PUBLIC 


PRTBLN 


/print last line of text 


• 8946 




PUBLIC 


PRTREC 


/print current record 


• ••47 




PUBLIC 


PTFS 


/point to file spec in cznd line 


99848 




PUBLIC 


READDK 


/read file: direct access 


• ••49 




PUBLIC 


READNX 


/read next record in file 


•MSI 




PUBLIC 


SCRPRO 


/set scroll protect line (A-line no.) 


MM] 




PUBLIC 


SETII.R 


/set INLRR to true last record 


• ••52 




PUBLIC 


SETMLR 


/set HAPLLR to true last record 


• 1)53 




PUBLIC 


STMEND 


/store top of mer.ory in MEMEND 


• ••54 




PUBLIC 


VDCHAR 


/display char in A register 


• 8855 




PUBLIC 


VDCLS 


/clear screen 


99956 




PUBLIC 


VDINIT 


/initialise video I/O (for Model 11) 


9)957 




PUBLIC 


VDLIN3 


/display line (HL-xagz don't print )DH) 


91156 




PUBLIC 


VDLINE 


/display line (HL->KSq) 


9)959 




PUBLIC 


WPKBWT 


/word processor Kbwait routine 


9986) 




PUBLIC 


WRITE 


/direct write routine 


89861 




PUBLIC 


WRITNX 


/write next record tu file 

Listing 3 continued 



114 • 80 Micro, December 1983 



String He ran down the lane 

Triplets ran dow own the 
Hash value 181 185 101 191 



String Jill walks up the lane 

Triplets jil ill wal alk 
Hash value 212 142 177 94 



String The goat ran up the lane 

Triplets The goa oat ran the Ian ane 

Hash value 191 212 138 181 191 83 108 

Table 2. Three strings, their corresponding triplets, and hash values. 



Ian 


ane 






83 


108 






Iks 


the 


Ian 


ane 


188 


191 


83 


108 



phone number, and so on). Text, how- 
ever, does not lend itself readily to such 
indexing, and many text searching pro- 
grams still employ sequential search 
techniques. 

In 1971, M.C. Harrison proposed a 
method to speed up searching large text 
files ("Implementation of the Substring 
Test by Hashing." Comm. Assoc. 
Computing Machinery. 14:777-779, 
1971). The idea is simple: Before search- 
ing a string of text for a particular 
key, perform a quick screening test to 
determine whether the key is not present 
or possibly present. 

If the test determines that the key 
isn't present in a string, you don't need 
to search that string. If the test is posi- 
tive (the string might be present), a se- 
quential search determines if the key is 
actually present in the string. I refer to 
this method as signature screening. 

The following method is an extension 
of that which Harrison proposed. It's 
designed for use on 8-bit machines that 
read 256-byte disk sectors. Each record 
consists of a string of ASCII characters. 

The search program considers every 
three sequential characters (triplet) of a 
string as attributes of the string. The 
program ignores triplets containing one 
or more spaces. For example, the string 
"Jack ran up the hill" has the following 
attributes: "Jac", "ack", "ran", 
"the", "hil", and "ill". 

Considering only letters of the alpha- 
bet, you can have 26 1 or 17,576 possible 
attributes for any triplet of letters A 
through Z. The 17,576 possible attri- 
butes (triplets) are mapped onto a 
251 -bit string. A hashing function re- 
duces the 17,576 attributes to 251 values 
(zero to 250). 

The hash function, h, for any trip- 
let is: 

h(c„c 1 ,c J ) = (100a(c,)+ ltefcj + afc,)) mod 251 

where c, c 2 , and c 3 represent the first, 



second, and third characters of the trip- 
let respectively, and a represents the 
ASCII value of any character. Any up- 
percase letter is assigned the same value 
as the corresponding lowercase letter. 
The mod is the modulus of the quantity 
in parentheses (the remainder) after the 
number in parentheses is divided by 
25 1 . If any triplet has one or more blank 
characters in it, it has no hash value. 

The word "hill" has two triplets. 
You want to find the hash value of the 
first triplet, "hil". The ASCII values of 
"h", "i", and "1" are 104, 105, and 
108, respectively. 

First multiply 104 by 100, 105 by 10, 
and 108 by 1. Then add the three num- 
bers (11,558) and finally divide 11,558 
by 251. The remainder, 12, is the value 
of the hash function for the triplet hil. 

The hash function has several fea- 
tures that are important when indexing 
text. The order in which letters are ar- 
ranged in a triplet determines the hash 
value. Triplets such as "tab" and "bat" 
do not hash to the same value. 

Spaces, which often consume a con- 
siderable portion of text, aren't includ- 
ed so the program indexes only words 
of three or more characters. This avoids 
indexing many meaningless triplets. In 
the string "boy and girl", the program 
hashes and indexes only the triplets 
"boy", "and", "gir", and "irl". The 
triplets "oy ", "y a", "nd ", "d g", 
and " gi" aren't included. Last, the 
computation of the hash value is simple 
and quick. 

The signature of a string consists of 
251 bits initialized to zero. If a triplet of 
the string hashes to a value i, the search 
program sets the ith bit (bi) of the 
signature to 1 (equivalent to cutting a 
notch in the ith hole of a notched-edge 
card). Signatures of file records are called 
record signatures while those of search 
keys are called key signatures. 

It's easy to find a single key in a large 



text file. First, the search program loads 
the record signatures of the text file into 
memory (or as much as will fit at one 
time). Second, the program determines 
the signature of the key. Then it sequen- 
tially compares each record signature to 
the key signature. 

If for every bi equal to 1 in the key 
signature, a corresponding bi is equal to 
1 in the record signature, the screening 
test is positive, and the program brings 
the record into memory and searches 
for the key. If for any i, bi equals 1 in 
the key signature and bi doesn't equal 1 
in the record signature, the key isn't 
present and you don't need to search the 
record. 

This is the same as putting needles 
through holes in edge-notched cards. 
Cards that don't fall out when you lift 
the needles lack at least one of the attri- 
butes you're searching for and you can 
bypass them. 

As a concrete example, take a text file 
with only three strings: "He ran down 
the lane", "Jill walks up the lane", and 
"The goat ran up the lane". See Table 2 
for all triplets and the corresponding 
hash values for the three strings. 

Suppose you want to search the file 
for all strings that contain the name 
"Jill". The key signature for the name 
"Jill" (Fig. 4) has bits 212 and 142 set to 
1; all the other bits are zero. 

Comparing the signature of the string 
"He ran down the lane" bit for bit with 
the key signature, you see that D212 of 
the key signature equals 1 while b2i2 of 
the record signature equals zero. The 
screening test is negative and you don't 
need to search the actual string. 

Comparing the signature of the string 
"Jill walks up the lane" with that of the 
key signature, you see that every bit 
equal to 1 in the key signature is also 
equal to 1 in the record signature. Read 
the record from the disk, search it se- 
quentially, and you find the name 
"Jill" present. 

Comparing the signature of the string 
"The goat ran up the lane" with that of 
the key signature, you again find that 
every bit equal to 1 in the key signature 
also equals 1 in the record signature. 
You read the corresponding record 
from the file, search it sequentially, and 
determine that the key isn't present (a 
collision has occurred). If you had more 
records in the file, you could continue 
the search in the same manner. 

Searching for a string that contains 
two or more keys is simple. The pro- 
gram logically ORs the key signatures 



Continued on p. 182 

80 Micro, December 1983 • 115 



TECHNIQUE 



Assembly Language 
Shortcuts— Part II 



by Bob Bowker 



T 



his month's shortcuts emphasize efficient use 
of the stack and include a reassuring per- 
spective on the mysteries of algorithms. 



CONDITION 1 CONDITION 2 


CONDITION 20 


ID BC.0123H LD BC.0254H 


LD BC.2017H 


LD (BUF),BC LD (BUF).BC = 


= >» LD(BUF),BC 


CALL ROUTINE CALL ROUTINE 


CALL ROUTINE 


RET RET 


RET 


ROUTINE LD HL.(BUF) 




RET 




Program Listing 1. Slack value pass. 





CONDITION 1 

POP HI. 

CALL ROUTINE 
DEFB 32H 
DEFB01H 



CONDITION 2 

POPHL 

CALL ROUTINE 
DEFB 54H 
DEFB 02H 



»> 



CONDITION 20 

POP HL 

CALL ROUTINE 
DEFB 17H 
DEFB 20H 



ROUTINE EX <SP),HL 



RET 



Program Listing 2. Byte-efficient Stack value pass. 



In my last article on Assembly lan- 
guage programming (80 Micro, June 
1983, p. 173), I discussed some tech- 
niques on reducing memory require- 
ments. This month, I'll consider the 
stack, a last in/first out storage area 
used by the Z80 to save both addresses 
and values as it jumps around in a pro- 
gram. The stack is available to the user, 
too; you can store addresses and values 
on the stack with the Push command, 
and reclaim them with Pop. 

When you call a subroutine, the com- 
puter automatically stores the return 
address on the stack, so that when it en- 
counters a return instruction, the last 
address on the stack tells the program 
where to return to. 

If your subroutine has left an extra ad- 
dress on the stack, when it encounters 
the return, the program returns to the 
extra address, not to the proper place. 
Similarly, if too many addresses are 
popped off the stack, the address to 
which the program returns will be 
wrong. 

What's Wrong is Right 

Sometimes you can misuse the stack 
to advantage. Suppose that you have a 
program with 20 possible situations, 



The Key Box 

Model I and 01 
16KRAM 
Editor/ Assembler 



116 • 80 Micro, December 1983 



each of which must pass a unique value 
to a common Write routine. One possi- 
bility is Program Listing 1. There is a 
way to use the stack to pass the value, 
and, in this example, save many bytes. 
See Program Listing 2. In each of 
the 20 cases here, the POP HL instruc- 
tion puts the main return address into 
the HL register pair, and the call routine 
puts the address of the first DEFB onto 
the stack, even though we have no in- 
tention of returning here. At routine, 
the 1-byte instruction EX (SP),HL puts 
the main return address on the stack, 
and the HL register pair points to byte 1 
of the value to be passed. When the pro- 
gram encounters the return instruction 
at the end of routine, it goes back to the 
original code that called the condition 
and not to one of the DEFB lines. 

How to Call Yourself 

Shortcuts are often needed when the 
number of bytes available for the task 
is limited; if you have to fit a program 
in a IK EPROM, that byte 1,025 has 
got to go. 

I am also motivated by laziness: I 
don't like to type in the same code twice 
if I can help it. Duplicating several lines 
of code is a waste of both typing time 
and assembler space, so I came up with 
the subroutine in Program Listing 3 to 
convert a hex digit into 2 ASCII bytes to 
be displayed. This routine uses one re- 
turn instruction to handle both passes 
through its code. Line 160 calls the sub- 
routine; when the program encounters 
the return in line 240, it branches back 
to line 170 to the address on the stack 
and continues on until it hits line 240 
again. This time, the return forces a 
branch back to the main calling code 
since that address is now on the stack. 

There's no practical limit to the num- 
ber of layers you can create using the 
one return instruction. This next exam- 
ple uses up to three passes through the 
same section of code, at various times, 
according to two switches. You could 
use it to allow for differences in how 
long you must wait for a disk drive 
motor to get up to speed. The first flag 
can indicate whether your speed-up 
modification is on, and the second flag 
can indicate that a full second is re- 
quired for that drive to get to 300 revo- 
lutions per minute (rpm), as opposed to 
the half second required by newer 
drives. The original version is in Pro- 
gram Listing 4. The routine checks two 
flags and calls wait once for each flag 
that's on; then it calls a single wait re- 
gardless of the flags. Compare it to the 
version in Program Listing 5. The pro- 
gram uses a single subroutine and its re- 



00100 


57 


CONV 


LDD.A 


;Store for now 


00100 


E6F0 




AND 0F0H 


;Dump bot 4 bits 


00120 


OF 




RRCA 


;Do the rotate trick 


00130 


OF 




RRCA 




00140 


OF 




RRCA 




00150 


OF 




RRCA 




00160 


CDxxxx 


CALL SUB 


;Call the subroutine 


00170 


57 




LDA.D 


; Recall the number 


00180 


E60F 




AND0FH 


;Dump top 4 bits 


00190 


C630 


SUB 


ADD A.30H 


;Make it ASCII 


00200 


FE3A 




CP3AH 


;Allow for HEX 
digits 


00210 


3802 




JR C.ONE 


;A thru F 


00220 


C607 




ADD A.07H 




00230 


CDxxxx ONE 


CALL 003BH 


;Output the byte 


00240 


C9 




RET 








Program Listing 3. ASCII converter. 



00100 


01FFFF DELAY 


LD BC.0FFFFH 


; Delay length 


00110 


3Axxxx 


LD A,(FLAG) 


;Gct flag 


00120 


F5 


PUSHAF 


;Save the flag 


00130 


CB47 


BIT 0.A 


;Check bit 


00140 


C46000 


CALL NZ.60H 


;Wait if it's on 


00150 


Fl 


POPAF 


; Restore orig (FLAG) 


00160 


F5 


PUSH AF 


;.. .and store again 


00170 


01FFFF 


LD BC.0FFFFH 


; Delay length 


00180 


BB4F 


BIT I.A 


;Check bit 1 


00190 


C46000 


CALL NZ.60H 


;Wait if it's on 


00200 


Fl 


POPAF 


;Restore orig (FLAG) 


00210 


01FFFF 


LDBC.OFFFFH 


; Delay length 


00220 


CD6000 


CALL 60H 


;Standard wait 


00230 


C9 


RET 


;Job's done 




Program Listing 4. Three-pass routine. 



00100 010000 DELAY 


LD BC.O000H ;Delay count 


00110 3Axxxx 


LD A.(FLAG) ;Get flags 


00120 CB47 


BIT 0.A ;Check bit 


00130 C4xxxx 


CALLNZ.SUB1 ;Delayifon 


00140 CB4F 


BIT1.A ;Checkbitl 


00150 C4xxxx 


CALLNZ.SUB1 ;Delayifon 


00160 F5 SUBI 


PUSH AF ;Save flags 


00170 CD6000 


CALL0060H ;... and delay 


00180 Fl 


POP AF ;Restore flags 


00190 C9 


RET 


Program Listing 5. Single subroutine option. 



tum several times. Each time the return 
is encountered, the program branches 
to the last address on the stack. If bit 
of (FLAG) is on, the return forces a 
return to line 140, and to line 160 if bit 1 
is on. If neither is on, the return 
branches back to the code that called 
the delay. 

The program initially sets BC register 
pair to 00 00 hexadecimal (hex) instead 
of 0FFFF hex since the wait routine 
0060 hex returns it to 0000 hex every 
time it's called; thus BC is set up for the 



next pass. That one extra count in the 
delay is only 14.65 microseconds, which 
in most cases won't hurt. The bonus in 
using the second routine is that 8 bytes 
are saved— over 25 percent! 

End of the Line 

The word algorithm is not only ugly, 
it's scary. That concept has probably 
kept more people away from Assembly- 
language programming than T-Bug 
ever did. An algorithm is nothing more 
than a way to do something. 

80 Micro, December 1983 • 117 



00100 3Axxxx 


LINE 


LD A,(4020H) :Get CSRPOS LSB 


00110 CB67 




BIT 4.A ;Bit 4 on? 


00120 CO 




RETNZ ;Go back if yes 


00130 CB6F 




BIT 5,A ;Bit 5 on? 


00140 CO 




RET NZ ;Go back if yes 


00160 CDxxxx 




CALLNULINE ;Ifs a new line 


00170 C9 




RET ;Now go back 


Program Listing 6. Algorithm check. 



For example, once I needed a way to 
tell if the cursor was positioned at the 
start of a line on the screen. At one 
point I considered making a table of the 
16 start-of-line addresses and doing 16 
compares every time. 

Then I found a blank page of Radio 
Shack's $1.95 Video Display Worksheet 
paper left over from Level I days, and 
wrote the 16 addresses in a column 
down the left side. I converted the ad- 
dresses to binary and wrote them down, 
too. In every case both bit 4 and bit 5 
were off; that turned out to be an abso- 
lute test. If either bit 4 or bit 5 of the 
least significant byte (LSB) of the ad- 
dress of the cursor were on, the cursor 
was not at the start of a line on the 
screen. I had an algorithm (see Program 
Listing 6). This routine checks bits 4 



"Don 't be frightened off 

by jargon like algorithm; 

if what you 're looking for, 

or what you f ve found, 

is a shortcut, 

call it that. " 



and 5; if either is on, the cursor is not at 
the start of a line, so it returns. If both 
are off, the program calls the subrou- 
tine Nuline to do whatever, followed by 
the main return. 

Don't be frightened off by jargon like 
algorithm; if what you're looking for, 



or what you've found, is a shortcut, call 
it that. 

To Vector or Not to Vector 

Lowercase modifications on the 
Model I are pretty common now, but 
not all users have them. This poses a 
problem if you're going to sell, or other- 
wise distribute, a program to others; 
you have to make allowances for the 
unmodified computers. Also, if your 
program uses the printer in any way, 
you should allow for those who don't 
have one. There are few things more 
frustrating than to accidentally hit the P 
key, and sit helplessly as the computer 
locks up in a ROM loop looking for a 
printer that isn't there. 

Vector is more jargon; it means jump, 
so let's call it a jump. That's also an 
easy way out of the problem: Place a 
jump or two at the start of your pro- 
gram, that can be changed by any user 
to allow for printers and lowercase. 

For example, I wrote a program that 
calls a conversion subroutine just before 
printing every character on the screen; if 
the character were lowercase, it would 
be converted to uppercase. Before dis- 
playing the character in A on the screen, 
I would call LC2UC. 




PROFESSIONAL QUALITY PERSONAL INCOME TAX PROGRAMS 
NOW IN OUR SECOND GREAT YEAR AND STILL UNDER $30 



• Don't wait until April 15. Use SUPERTAX to develop your 
tax strategy NCW. 

• An ABSOLUTE MUST for every personal software library. 

• Invaluable for YEAR-END tax planning or for tax return 
preparation. 

• The friendliness and efficiency of these programs are setting 
standards by which others are judged. 

• Highly acclaimed by tax professionals and laymen alike. 

• Written by CPA. 

SUPERTAX I: Using either screen or printer output, SUPERTAX I generates 
clear and concise summaries of Page 1 and 2 and Schedule A of FORM 
1040, allowing you to see at a glance and quickly comprehend your tax 
situation. This program also prints an OVERALL SUMMARY of the return 
showing Adjusted Gross Income, Itemized Deductions, Taxable Income, 
Regular Tax, Income Averaging Tax, Minimum Tax and Payment Due or 
Refund — all of which are calculated by the program. SUPERTAX I also 
calculates the moving expense deduction, investment credit, taxable 
capital gains, political and child care credits, medical limitations, and much 
more. Input is fast and easy and changes can be made in seconds. This 
program actually makes tax planning a breeze. 

SUPERTAX II: Includes the efficient SUPERTAX I program as well as the 
more detailed SUPERTAX D program which makes all of the SUPERTAX I 
calculations, but which also PRINTS THE INCOME TAX RETURN. This 
program prints Page 1 , page 2, Schedules A, B, and G (income averaging) 
of the FORM 1040 as well as FORM 3468 (investment tax credit) on 
standard government forms or on blank computer paper for use with 
transparencies. Any input item can be changed in seconds and the entire 
return recalculated almost instantly. 



• Available for IBM PC. Radio Shack Models I. II, III. 12 and 
16, Apple II + , and Kaypro II (all require at least 48K). 

• Also available on standard 8" CP/M using Microsoft BASIC. 

• Data can be saved on disk. 

• Changing any data item instantly changes entire return. 

• Subsequent year versions of SUPERTAX available at 40% 
off. 

• Programs are fully prompted and include manual loaded 
with valuable tax information and guidance. 

SUPERTAX IBs This package includes both the SUPERTAX I and SUPER- 
TAX II programs PLUS a program to calculate and print Schedule C of the 
FORM 1040. Also included is a stand alone depreciation program which 
calculates and prints your depreciation schedule using both the old rules 
and the new ACRS rules. Output from the depreciation program is de- 
signed to serve as a supplement to IRS FORM 4562. 



SUPERTAX I - 


- $29.50 


SUPERTAX 11 


- $49.95 


SUPERTAX III 


- $59.95 



Add $2.00 for postage & handling Add $2.00 if ordering on 8" diskettes. 
Radio Shack models require 2 Hisk drives. 

ROCKWARE DATA CORPORATION 

1635 Dorchester • PLAN0. TX 75075 • (214) 596-0588 

CP'M. Radio Shack & Apple II * are trademarks ot Digital Research Tandy Corp and Apple Computers 
Inc 



►-512 



118 • 80 Micro, December 1983 



My program also jumped through a 
subroutine on its way to the line printer; 
to print the character in A, I would call 
print. 

00100 C3xxxx LC2UC JP CONV ;Go convert 

LC to UC 
001 10 C3xxxx PRINT JP LPR ;Go print out 

These were the first two lines of the pro- 
gram, which loaded at 5200 hex. I in- 
cluded instructions to zap a return into 
line 100 (a C9 at 5200 hex) if the user 
had a lowercase mod; then, every time 
LC2UC was called, the program found 
a return before it could convert any- 
thing. Similarly, the program could zap 
a return into line 1 10 (a C9 at 5202 hex) 
if the user had no printer; this effective- 
ly disables the print command in the 
program. 

Was That a I or a III? 

When it first came out, the Model III 
was advertised as able to run all Model I 
software. As it turns out, that just isn't 
so; the culprits are the new ROMs in the 
III, which are different from the I's. 

For most people, this is not impor- 
tant. However, if you want to sell a pro- 
gram that works on both, you have a 
decision to make: Should you sell sepa- 



rate versions, or try to write one version 
that works on both models? If you 
choose to do the latter, you've still got 
problems. You must either make sure 
the program uses only those routines 
which are common to both models, or 
you must somehow have your program 
modify itself based on the host model. 

The last choice is not difficult. You 
can tell whether the computer running 



"Should you sell 

separate versions, 

or try to write 

one version that works 

on both models?'' 



your program is a III or a I by looking 
at the byte at 0054 hex in the ROM; if 
it's a 01 hex, you're on a Model I, and if 
it's an EB hex you're on a III. There are 
probably other addresses you can use, 
although this is the only reliable one I 
know. 



Start your program after t)ic jumps 

with a check of 0054 hex, and deal with 
the result accordingly. For instance, if 
you find that your computer is a III, 
you may want to disable your own LC 
vector right away by putting a return 
there, and store a 00 hex at 4019 hex to 
default the III to lowercase. If any of 
the DOS calls you intend to use are dif- 
ferent in Model III versions of the oper- 
ating system, you can alter them now. 
For example, assume that a DOS call in 
Model I is at 4290 hex, and in the Model 
III is at 442B hex. 

01320 CD9042 HERE CALL 4290H ;Model I 
CALL 

If your check finds that you're on a III, 
include the following lines before start- 
ing the main program: 

65000 212B44 LD HL.442BH ;Model III address 
65010 22xxxx LD (HERE+ 1),HL 

When line 1320 is encountered, the prop- 
er Model III address will be called. ■ 

Robert Bowker is a free-lance televi- 
sion director. He can be reached at 
11360 Sunset Blvd., Los Angeles, CA 
90049. 



Announcing cravon diaaixl Version 2.0 



Crayon Deduce is a complete Bit-Image word/graphics processor which creates stunning visual effects using custom text and graphics. No 
matter which word processing system you now use, Crayon DeCuxe 2.0 does all the things your word processor can't! 



Speciality Fonts & Shapes • 

Standard Text Processing • 

On Screen Text Justification • 

Prints All Foreign Languages • 

18k Full Screen Editor • 

Full & Vi Page Scrolling • 

Superb Manual W /Examples • 

18k Font Design Utility • 

AVAILABLE FOR All MX 



Custom Logos 
Cartoons & Basic Screens 
Programmable Centering 
No Wait Printing! 
24,000 Character Library 
True Mirror Images 
Route Printing To Disk File 
Super Fast Text Entry 



Multiple Mail Labels 
Wide Printing Mid-Line 
Prints as Shown On Screen 
Line Drawing Graphics 
19 User Def Chars (anywhere) 
Automatic Wide Entry Mode 
3 User Selectable Underlines 
Business Forms & Graphs 



Draws Angles, Patterns & Lines 
Inversons Mid-Line 
Chars. To 40 x 127 Dots 
Custom Borders & Graphics 
3 Programmable Tab Lines 
Tone Beeps & Signals 
3 User Selectable Overlays 
Sub & Superscripting 



+ FX printers with Grapbtrax • All P ROWRITER and 8S10A and All GEMIN I 10 + 15 

Comes with 130 page manual, 2 diskettes - Fontmaker - samples- 600 characters r^^^^^^^^^^fflBflHyJIE lM 300 character fonts 
are $15.00 - Fonts available are DIGITAL — ELITE — HERITAGE — Comes with Outline and Regular — Specify System and Printer. 



Onrush 



azc 




Jzeriiaye 







Digital 



ABCDEF 
HErjrjEF 



Oul/it 



'me 




jBoro* 



oroers 




SA 



apes 



®k 



RC11E 




Scrjp/r - Turns Scriptsit into a full word processing system by providing complete printer support for the following printers MX 80 + FX 
80 - LP-4 + 8 — DMP 200 + 400 - DW2 - PROWRITER — CIOTH 8510A — GEMINI — M1CROLINE — FEATURES on most versions 
include Emphasized, Double Strike, access all available typestyles, change character widths, sub and super script, pausing, dot linespacing changes, 
Editing, Macro's, DOS Reentry, Send any Code to printer, Supports (ALL Gnpbtna Functio ns, — most M id-Line), DIAL-A-PRINT, Form 
Letters, Print to video only for trial pagination and much much more. Available with versions for 
with teaching programs and a 66 page manual. (Print samples avaitabU on request) 



Models 1.3.4 on DISK/CASSETTE tor $40.00 



Free Brochures 

\i U> N W ,-ilh AVI No 



PIONEER SOFTWARE 



[ .itKl.ihili I i 



Phone 1 30) i 739 J07\ 



(•) 160 

Money Orders COD s accepted 



** See Ust of Advertisers on Page 291 



80 Micro, December 1983 • 119 




DISPLAYED VIDEO IS DRIVING DOWN 
PRICES ON DISKS! 



FREE SHIPPING! 




V 



TEC'S NEW HALF-HIGH 40 TRACK DISK DRIVE W/CASE 
& POWER SUPPLY AT AN INCREDIBLE LOW PRICE! 

$195.00!!!! 

NEW! 

TRUE HALF HEIGHT DRIVES! 

1 5/8 INCH NOT 2 INCH OR 2 7/16 INCH! DIRECT DRIVE! 

NO DRIVE BELT! 3MS TRACK TO TRACK! 

"YOU CAN BUY THE REST BUT WHY NOT BUY ONE OF THE BEST!** 

TEAC's NEW SLIMLINE 40 TRACK W/CASE & POWER SUPPLY $235.00 

TANDON 40 TRACK TM-100-1 W/CASE & POWER SUPPLY $220.00 

(DOUBLE SIDED 40 TRACK DRIVES ADD $75.00) 

SHUGART NEW SLIMLINE DOUBLE SIDED 40 TRACK W/CASE & POWER SUPPLY $299.00 

SHUGART NEW SLIMLINE DOUBLE SIDED 80 TRACK W/CASE & POWER SUPPLY $379.00 

TANDON SINGLE SIDED SLIMLINE 8" DISK DRIVE W/DUAL CASE & POWER SUPPLY $545.00 

TANDON DOUBLE SIDED SLIMLINE 8" DISK DRIVE W/DUAL CASE & POWER SUPPLY .... $625.00 

TWO DRIVE CASES AVAILABLE AT VARIED PRICES 
TWO DRIVE 5 1/4 - CABLE (FOR MOST COMPUTERS). $23.99 WITH GOLD PLATED CONNECTORS 

DV'S COLOR COMPUTER 1st DRIVE ONLY $369.00 

ONE YEAR WARRANTY ON TEAC & SHUGART DRIVES/180 DAYS ON TEC & TANDON 

HAYES SMART MODEM 300 BAUD $225.00 1200 BAUD $525.00 

MODEL I DOUBLE DENSITY BOARD $89.00 



< 



PRINTER PRICES 



WERE NOT GOING OT MAKE YOU CALL FOR PRICES - HERE THEY ARE IN BLACK AND WHITE!!! 



EPSON 

MX80 FT W/GRAPHTRAX PLUS $459.00 

MX100 W/GRAPHTRAX PLUS $659.00 

RX80 W/GRAPHTRAX PLUS $389.00 

FX80 W/GRAPHTRAX PLUS $569.00 

FX100 W/GRAPHTRAX PLUS $779.00 



STAR 

GEMINI 10 $349.00 

GEMINI 15 $479.00 

CITOH PROWRITER 8510 $395.00 

STARWRITER F10 $1169.00 

DWP 210 $649.00 



PRINTER CABLE 10' LONG W/GOLD PLATED CONNECTORS STARTING AT $25.99 

DAISY WHEEL PRINTERS AVAILABLE AT VARIED PRICES 



< 



WE CARRY TRS80. LNW, EPSON & FRANKLIN COMPUTERS IMMEDIATE DELIVERY 

180 Days Parts and Labor Warranty 
DEALER INQUIRIES INVITED 

Free Shipping in the U.S. 
48 Contiguous States 



DISPLAYED 



Visit our two 
retail locations at: 

886 Ecorse Road 

Ypsilanti, MI 48197 

(313) 426-5086/(31 3)482-4424 

or 

1 1 1 Marshall Street TO ORD ER: Call (313) 426-5086 or (313) 482-4424 or (517) 542-3280 

Litchfield, MI 49252 (517) 542-3939 (517) 542-3947 

(517) 542-3280 OR WRITE: DISPLAYED VIDEO 111 MARSHALL ST., LITCHFIELD, MI 49252 

\0 I I ) D**Z - .J:70:f -TRS-80 is a trademark of the Tandy Corporation 

(*>!// »>*§«£-«>"**/ ^62 Prices & Specifications subject to change without notice 





DISPLAYED VIDEO IS DRIVING DOWN PRICES ON DISKS! ^ 



4 

D 

R 

I 

V 

E 

S 
f 



YOITRE NOT 
SEEING THINGS. 
THATS FOUR 
INTERNAL 
DRIVES IN A 
MODEL 4 



$1999.00 




AVAILABLE 
NOW, 
ONLY 
FROM 

DISPLAYED 
VIDEO! 



DISPLAYED VIDEO HAS DONE IT AGAIN! 

THE STORAGE CAPACITY YOUVE ALWAYS W ANTED 
AT THE LOWEST PRICE EVER CONCEIVED! 

FOUR DRIVES IN A MODEL 4, 64K $1999.00/128K $2079.00 

QUALITY BACKED UP BY DVS SIX MONTH YOU CANT LOSE WARRANTY! 



4 
D 

$1999.00 JJ 

I 

V 

E 

S 
f 



< 



/" DISPLAYED VIDEO is offering TRS-80' MODEL 4 disk drive systems for INCREDIBLY low prices, quality backed up 
by DVs six month you can't loose warranty. 
MODEL 4 with 64K dual 40 track double density disk drives with TRSDOS 6.0 and TEN DISKETTES. 

PLUG IT IN AND GO $1599.00/128K $1679.00 

MODEL 4 with 64K dual 40/40 track double density disk drives with TRSDOS 6.0 and TEN DISKETTES. 

PLUG IT IN AND GO $1899.00/128K $1979.00 

MODEL 4 with 64K dual 80 track double density disk drives, with TRSDOS 6.0 and TEN DISKETTES. 

PLUG IT IN AND GO $1899.00/128K $1979.00 

MODEL 4 with 64K dual 80/80 track double density internal disk drives, with TRSDOS 6.0 and TEN DISKETTES. 

PLUG IT IN AND GO $2199.00/128K $2279.00 

MODEL 4 with 64K four internal drives of any configuration available to achieve up to 4 meg of disk storage CALL 

MODEL IH/4 Internal Two Drive Kit: Includes controller board, dual drive mounting bracket, dual power supply, all hardware 

cable; and connectors (gold plated) & TEC Drive $399.00 

4 DRIVE KIT MINUS DRIVE $349.00 
MODEL 100 8K $679.00 24K $839.00 DVS MODEL 1 DOUBLE DENSITY BOARDS $89.00 ^ / 

WE CARRY TRS-80. IBM. LNW. EPSON & ERANKUN COMPUTERS \ 



Visit our retail location at: 

111 Marshall Street 
Litchfield, MI 49252 
(313) 426-5086 
(313) 482-4424 
(517) 542-3280 
(517) 542-3939 
(517) 542-3947 




D ISPLAYED 
IDEO 




IMMEDIATE DELIVERY 

DVS SIX MONTH 

PARTS AND LABOR WARRANTY 



Authorized Dealership at: 
1 1 1 Marshall Street. Litchfield. Michigan 49252 P142 

To Order: Call (313) 426 5086. (313) 482 4424; (517) 542 3280 

(517) 542 3939; (517) 542 3947 

OR WRITE: 

Displayed Video. Ill Marshall St.. Lichfield. Ml 49252 

' TRS 80 is a trademark of the Tandy CoqxxatKwi Prices subject :« » change Withi hi: notic 



REVIEW 



CP/M III Ways 



by Terry Kepner 



|yo 



f you're looking for CP/M compatibility on 
your Model m, choose one of these boards 
d get access to hundreds of great programs. 



• ••• 

CP/M Mapper III Board 
Omikron Systems 
1127 Hearst Ave. 
Berkeley, CA 94702 
$199 

• ••• 

VID-80 Board 
Holmes Engineering Inc. 
5175 Green Pine Drive 
Murray, UT 84107 

$279 

• •• • 

Shuffleboard III 
Memory Merchant 
14666 Doolittle Drive 
San Leandro, CA 94577 
$299 



CP/M, Control Program for Micro- 
processors, was the first comprehensive 
in-memory disk operating system for 
8080 and Z80 based microcomputers. 
And now it's available to those who 
own Model Ills. 

The three Model III CP/M conver- 
sion boards included in this review are 
the Mapper III from Omikron, the 
VID-80 from Holmes Engineering, and 

122 • 80 Micro, December 1983 



the Shuffleboard III from Memory 
Merchant. 

All three boards offer useful modifi- 
cations, but their features do differ. 
Shuffleboard is the only one that lets 
you perform single-drive file copies, 
while Mapper III alone lets you transfer 
files and programs from TRSDOS disks 
to CP/M disks. 

The Holmes board stands apart in 
that it modifies your Model Ill's ROM 
to use an 80-character by 24-line display 
in standard TRSDOS environments as 
well as the CP/M environment. 

While all three boards provide CP/M 
capability, you should consider their 
features and choose the board best 
suited for you. 

Each modification is similar in con- 
cept: You remove the Z80 CPU and 
put it on the CP/M board, then plug 
the CP/M board into the Z80 socket. 
The computer now operates as either a 
standard Model III or a Z80 CP/M 
computer. 

Mapper III 

Omikron sells several modification 
boards for the Models I and III, includ- 
ing four versions of the CP/M board (a 
48K and a 64K RAM version for each 
computer), 8-inch drive support for the 
Models I and III, and a 24-line by 
80-character video display modification 
for the Model III. 



I'll describe the Model III 64K CP/M 
board, without the 8-inch drive board 
or the 80 by 24 display modification. 
The Mapper III is quite small, measur- 
ing 4 inches by 6 inches (see Photo l). 
Centered on the right side of the board 
are the socket for your computer's Z80 
chip and the pins for plugging the board 
into your computer. 

The six pages of typeset installation 
instructions are clear, with many pic- 
tures to clarify the procedure. The guide 
is a professionally prepared pamphlet, 
the best hardware installation guide I've 
ever seen. 

The installation instructions are easy 
to follow. You unplug the computer, 
then locate and remove the case screws. 
Lift off the cover, locate and remove 
the Radio Frequency Interference (RFI) 
shield screws, then remove the RFI 
shield. 

Remove the Z80 chip (be very care- 
ful — bent pins aren't a total disaster, 
but make the installation difficult), plug 
it into the CP/M board (observe correct 
orientation of the chip in the socket), 
and plug the board into the computer 
Z80 socket. Finally, reassemble the 
computer. The entire installation takes 
about half an hour of continuous work. 

Now I must fault the documentation. 
After reading the installation guide, I 
looked for instructions on turning on 
the system and testing the board's per- 
formance, but there aren't any. 

The owner's manual (15 photocopied 
pages of mixed typesetting and printing) 
details the CP/M system, describing 
video, keyboard, RS-232, and printer 
drivers, plus other important informa- 
tion about the Omikron version of 
CP/M. But it doesn't contain instruc- 
tions on turning on the system in 
TRSDOS, CP/M, or Level II Basic. 



I've since discovered that Omikron is 
still writing the user's manual. By the 
time you read this review, the guide will 
be finished and included with the other 
manuals. 

When I turned my system on, strange 
characters filled the screen; I got no 
drive response and other peculiar reac- 
tions. I took my computer apart, re- 
moved the CP/M board, then replaced 
it and reassembled the computer. This 
time everything worked the way it 
should and the drive light came on. 

The video screen displays the Omi- 
kron sign-on message, with two opera- 
tion choices listed, C and T. Pressing 
the C key causes the Model III to boot 
up the CP/M disk in drive zero. Press- 
ing T boots a TRSDOS disk. If you 



want Level III Basic, press T and the 
break key. TRSDOS operation remains 
unchanged. 

Omikron designed the video driver to 
emulate the Soroc IQ120 terminal, so 
any CP/M programs compatible with 




Photo 1. Mapper 111. 



Photo 2. VIDJO. 





Photo 3. Shuffleboard III. 



LOCK OUIER I.E. 
Of! YOUR 5CFEEF! 

5top unauthorized use! 

I NTRODUC I NG 



^RE^^^^MPL^ 



% 



s^iii i : mm 

Ctaeulf It 1»» »riitri. W 
.':»- C. to 
HI ni\vm 

:• I! Voir Slrm 
torlM, ;. '1433 
•)I3> I1HM7 

Eftir I»r fcc.it Co* • 



I? 



The Compu-locK is an electronic circuit board 
thai virtually guarantees that no one can 
access your files or damage important data 
With the Compu-locn installed, your computer, 
on power up. requires the entry of a 
oassword before it can be used Without 
correct password entry, your computer will 
only display owner Verification I 

The Compu-locK can be a very strong theft 
deterent. and if your compute" should be 
stolen. the Compu-locK could be the 
single-most reason that your computer would 
be returned to you Easy internal 
installation requires nc soldering or trace 
cutting Bold mylar decal. included, warns 
would be thieves or meddlers 

It has been estimated that the odds of a n 
unauthorized persor gaining access to a 
computer protected by a Compu-locK with a 6 
letter password is one in 326 billion Those 
are excellent odds in your fa /or ■ 

Tell us exactly how you wish your display to 
be formatted and choose your own password 
The screen display allows you up to five lines 
of 35 characters each You may use these 
lines in any manner you wish to display your 
ownership identification lines may be skipped 
or not used as you oesire See above screen 
example The lines should contain owner 

and/or company name, address, phone number 
and. optionally, a drivers license number or 
other identifiers of your choice The 
password may be up to 20 characters iong 
and any keyboard character may be used 
(including lowe r case) with the e*ception of 
the arrows We do suggest, for your 
convenience, that the password you send to 
us be f rotn 5 to B characters long and 
something that you'll easily remember 

Don't wait until it's too late Your computer 
and files are worth the protection that the 
Compu-locK affords fail your order today 
Include a checK or money order for $99 95, 
the password of your choice and a clearly 
printed or typed copy of how you wish your 5 
lines of information to read Add S2 50 for 
postage and handling. California residents 
add b 57- Be sure you give the mode! number 
of your computer 

The Compu-locK is available for the TRS-80 
models 1. 3. I 4 and soon for other popular 
computers Dealer inquiries invited 

The Computer Council 

1B22B Parthenia Street 

Northridge, Cfl 91325 

(213) BB5-1411 

S 323 



f 9M list of Adwrtisws on Page 291 



80 Micro, December 1983 • 123 



THE COMPUTER TANDY 
SHOULD HAVE BUILT. 



Software-selectable screen formats 
let you run either 24 x 80 CP/M or 
16 x 32 and 16 x 64 LDOS programs. 



Monitor comes in your 

choice of green or amber 

phosphor display. 



With our built-in disk interfaces, 
you can simply plug in any 
combination of peripherals. 



Standard Centronics-type 

parallel port accommodates 

a wide variety of printers. 




Our 5MHz Z-80B processor 

runs your programs 25% faster 

than TRS-80 Model 4. 



Rugged construction includes heavy 

duty case and full-stroke 

sculptured keyboard. 



Available storage includes Lobo's 

5-1/4" floppy, 8" floppy and 

Winchester hard disks. 



All Lobo hardware products 
carry a limited one-year 
parts and labor warranty. 



AT THE PRICE TANDY 
SHOULD HAVE CHARGED. 



The bottom line is this. For far 
less than the pnce of a TRS-80" 
Mod 4, you can own a lot more 
computer 
A computer that's 25% faster 
That supports both the CP/M" 
Plus and LDOS™ operating 
systems. 

A computer that features a 
price tag of only $945 for the 
MAX -80" processor And that 
expands with your needs with- 
out breaking your budget. 

A FLEXBU SYSTEM 
AT A FLEXIBLE PRKE 

When you put it all together 
—an entire system, including a 
dual 5-1/4" floppy drive sub- 
system (320 Kb of disk stor- 
age), monitor, CP/M and LDOS 



-totals up to just $1599. 

Totally remarkable. 

But that's not all. Because 
this basic MAX -80 system is 
incredibly flexible. Its dual 
operating systems run far more 
software than any other com- 
puter (Including our specially- 
discounted Perfect-Calc ,M and 
Perfect-Writer'" software 
packages.) 

And since our MAX-80 fea- 
tures two RS-232C serial ports, 
you can easily add both pnnter 
and modem without switching 
back and forth. 

SUPKHtTS A WRX VARIETY 
OfMMPHERALS 

What's more, Lobo offers 
almost any peripheral you 



might want to add to your 
MAX-80. At very special prices. 

Like $995 for a 5Mb Win- 
chester hard disk, the ultimate 
in fast, accurate data storage. 

Or a whole line of affordable 
dot matrix and letter-quality 
pnnters. Or an 8" floppy drive. 
Or even a MAX-80 local area 
network. 

EVERY MECE Off HARDWARE RACKED 
RY OUR UNBEATABLE WARRANTY 

Because every part of the 
MAX-80 system is so rugged 
and reliable, we go beyond 
industry-standard 90 day war- 
ranties. We back every piece 
of Lobo hardware with a full 
year warranty. 

So now, you can run virtually 



all your TRS-80 programs faster 
and cheaper 

Just give us your Visa or 
Master Card number. We'll 
rush you the MAX-80. Try it out. 
Then, if for any reason you 
change your mind, return it with- 
in 30 days. We'll return all your 
money. 

So call us. Because owning 
a MAX-80 costs you $945. But 
finding out about it costs you 
nothing. 

1-800-235-1245 

(1-800-322-6103 in California) 

LOBO 
SYSTEMS, MC 

358 South Fairview Avenue, 
Goleta, California 93117 



-535 



TTIS-80 ■ « tagiawod mrlMIMt o( Tandy Corp CP<U u 4 rogmerad rrademarn of Digital Ineaid Corp LDOS is • tradamaik ol Logical Sr««ms Inc Pertecl Calc and Pertacl Wrila-t ai( tiads 

' $m List ol Advertisers on Page 291 



80 Micro, December 1983 • 125 



the Soroc terminal should work without 
alteration. The cursor addressing rou- 
tine is the same system used by the 
Osborne accounting packages, Word- 
Star, and Wordmaster. 

If you have 8-inch disk drive capabili- 
ty, Omikron's version of CP/M auto- 
matically supports it, assuming that 
drives A and B are 5 V* -inch, and C and 
D are 8-inch. Since much software is 
sold on 8-inch disks, Omikron provides 
an option that lets you use control/C to 
warm-boot the system and make the 
8-inch drives (physically located at po- 
sitions C and D) the logical drives A 
and B. 

If you have a special drive configura- 
tion, you can use the Options utility to 
preset the system to match your needs. 
The Options program controls other 
factors, including video graphics en- 
able, blinking cursor, printer line count- 
er and line feeds, RS-232 and keyboard 
swapping (lets you use a remote termi- 



nal to control the system), and interrupt 
disable. 

At the moment Omikron CP/M sup- 
ports only 5 Ya -inch single- and double- 
density disk drives. As soon as they 
complete their 8-inch double-density 
board, it will support 8-inch single- and 
double-density disk drives. In the mean- 



"... Omikron includes a 

Microsoft Basic disk with 

their CP/M system. . . " 



time, Omikron CP/M reads 17 disk for- 
mats, including Osborne, IBM PC, 
Cromemco, Xerox, DEC, and Super- 
brain. 

To aid the prospective programmer, 
Omikron includes a special utility pro- 
gram that lets you read Model III 
TRSDOS disks, and copy files and pro- 



grams from TRSDOS to CP/M. These 
programs might or might not work un- 
der CP/M. 

Machine-language programs that use 
their own input/output (I/O) routines 
won't work under CP/M, since the pe- 
ripherals have all been remapped to new- 
locations. Basic programs should work 
with MBasic, unless they have machine- 
language PEEKs and POKEs. 

To help the Basic programmer, Omi- 
kron includes a Microsoft Basic (MBa- 
sic) disk with their CP/M system, so 
you can immediately begin using your 
system to create standard Basic pro- 
grams (most Model III Basic commands 
are used in MBasic). This is important 
since CP/M doesn't include a Basic 
programming system, although some 
versions of CP/M include a public do- 
main version of Basic called EBasic. 

Finally, Omikron supplies a set of 
new CP/M and MBasic manuals that 
are truly superior to any I've seen on 



The CP/M Story 

The birth of CP/M resulted from 
a need for a microcomputer disk op- 
erating system back when micros 
were only the toys of computer hob- 
byists and professionals. A few pio- 
neers in the industry had managed to 
build computer systems that in- 
cluded a CPU, had the capability of 
running a video display, and would 
let you input data and instructions 
from a keyboard. 

Someone had even figured out 
how to connect disk drives to the ma- 
chine and transfer data between the 
two. One programmer, at the request 
of a business friend, took one such 
system and wrote a program that su- 
pervised the operation of the com- 
puter, monitor, keyboard, printer, 
and disk drives. This original DOS 
design was for an 8080 Altair. 

The program was so successful at 
controlling the computer without 
lots of work and attention from the 
user that other people began asking 
for copies. Finally, Digital Research 
Inc. began selling the DOS and it 
rapidly spread across the country. 

It was so popular because it was 
designed to be device independent. 
The CP/M system used set addresses 
for sending and receiving informa- 
tion to and from the various periph- 
erals. A new computer merely had to 
honor those addresses to be compati- 



ble with CP/M and CP/M pro- 
grams. 

Of course, each model computer 
had different peripherals, some with 
wider displays or better keyboards, 
requiring different driver machine- 
code instructions, but CP/M doesn't 
care what the actual driver code 
looks like, only that the driver re- 
sponds to the proper CP/M data ad- 
dress. 

This means that a program written 
on a CP/M computer, as long as it 
honors the CP/M I/O calls, runs on 
almost any other CP/M computer. 
If your computer is from a new com- 
pany, or even if you designed and 
built it yourself, you still have many 
CP/M programs available for it. 
Owners of non-CP/M computers 
have to wait for programmers to buy 
the computers and start writing pro- 
grams for them. 

As the oldest available DOS, 
CP/M has the most programs writ- 
ten for it. In many cases these pro- 
grams are public domain, free for 
you to use and change. This public 
software is often of very high quality. 

Other computer companies mar- 
keted their own DOSes for their 
computers, but CP/M had already 
become a standard. And people 
didn't want to buy a computer with- 
out software support. 

When Tandy released the original 
Model I, they didn't design it to be a 
disk -based computer so they ignored 



CP/M. When Level II came out, it 
too ignored the possibility of CP/M 
because CP/M requires the use of 
low memory for its driver addresses 
and high memory for its own code. 
The Radio Shack uses all low memo- 
ry addresses for itself and high mem- 
ory for programs. 

To allow for both TRS-80 Basic 
and future CP/M expansion would 
have required that Tandy abandon 
their Level I customers or replace the 
entire CPU Level I board when they 
upgraded the machines to Level II. 
They would have to switch RAM 
and ROM, requiring a new circuit 
board layout. The mechanical prob- 
lems of redesigning the computer 
and replacing the units in the field 
were too costly. 

CP/M requires using the low ad- 
dresses of RAM as its tie points to 
the peripherals. The Models I and HI 
use the low addresses for other pur- 
poses, making them fundamentally 
incompatible. 

For a while, a doctored version of 
CP/M was available for the Models I 
and III, but it experienced compati- 
bility problems with much of the 
CP/M software. The software ex- 
pected the peripheral connection ad- 
dresses to be in low memory. 

Now several companies have be- 
gun marketing boards that let Model 
I and III owners convert to CP/M 
operation while still maintaining 
compatibility with TRSDOS. ■ 



124 • 80 Micro, December 1983 



CP/M. The CP/M manual is 250 pages 
long in 8- by 1 1-inch format. 

The MBasic manual was written in 5- 
by 7-inch format, but has been repro- 
duced on 8- by 1 1-inch paper, with two 
5- by 7-inch pages on one 8- by 1 1-inch 
piece of paper. It's a little confusing at 
first, but usable. Both manuals are 
typeset and punched for insertion in a 
three-ring binder. 

VID-80 

The Holmes CP/M system is a much 
larger board than the Mapper III, mea- 
suring 8 inches by 1 1 inches (see Photo 
2). As with the Omikron board, you re- 
move the Z80 CPU from the Model III 
and plug it into the Holmes board. 
However, you also remove the charac- 
ter generator ROM, the power supply 
connector, and the video connector 
from the old CPU board, and plug 
them into the Holmes board. 

Then you attach two wires from the 
VID-80 to the Model III with small 
clamps, and plug the Holmes video con- 
troller into the slot on the old CPU 
board. These modifications make it 
possible for the Model III to run 
CP/M, and alter the video to use 80 



characters by 24 lines as the standard 
display. 

In fact, if you are only interested in 
an 80 by 24 display, you can buy the 
VID-80 board alone, and forget CP/M. 
CP/M is not required for the 80 by 24 
display, and you can purchase it sepa- 
rately for $120 extra. 

This new display size has an impor- 
tant implication for CP/M operation: 
Some software on the market requires 
an 80 by 24 display. A display size other 
than that can cause problems when you 
try to use software designed for the 
larger display. Fortunately, much of the 
CP/M software doesn't have a display 
size requirement, so you can use a stan- 
dard 64 by 16 screen display. 

The documentation is a 34-page 
8'/2- by 11 -inch booklet that clearly ex- 
plains every step for dismantling your 
computer, installing the Holmes board, 
and putting everything back together. 
It's not as slickly produced as the Omi- 
kron instructions, but is adequate to the 
task. 

The instructions on CP/M are di- 
vided into two distinct sections. The 
first is part of the installation manual, 
and provides technical information 



about the CP/M board and the Holmes 
CP/M Basic Input/Output System 
(BIOS) information. It also includes 
brief instructions on turning on and us- 
ing your Holmes modified computer 
and an introduction to the CP/M oper- 
ating system. 

The second part of the CP/M in- 
structions is in the form of the Sybex 
book about CP/M by Rodnay Zaks, 
The CP/M Handbook with MP/M. 
Rather than plowing through the CP/M 
2.2 Digital Research manuals, which 
tend to be confusing and hard to read, 
you can study a well-written tutorial on 
the CP/M system, with indexes and ap- 
pendixes to help guide you through it. 

The theory of operation for the 
Holmes board is simple: When you turn 
on the computer or press reset, the 
Holmes board bootstrap ROM checks 
to see if you're holding down the 6 key. 
If you are, the bootstrap ROM relin- 
quishes control to the Model III ROM 
and your computer acts as though it's 
unmodified. 

If you're not holding down the 6 key, 
the bootstrap ROM copies the Model 
III ROM to a 16K bank of RAM on the 
Holmes board, then patches the Model 




•TRS-30 IS A TRADEMARK OF RADIO SHACK, 
A DIVISION OF TANDY CORP. 



TURNING THE PAGE TO A 

NEW [dKSCOVERY 



niERLIW 

H1HG-B0 

FLOPPY DISK MAGAZINE 

"The Magazine ot the 80's" 



A monthly publication to run on 
your TRS 80* I, III or IV ^™ 

• Useful and entertainins programs. 

• Innovative, ready to run Puzzles/Games. 

• Informative, up to date articles. 

• Reviews of latest Games, and programs. 
(These items offered at discounted prices). 

• Articles submitted for publication are welcome. 

First month's subscription $10 

(includes diskette, mailer and return postage) 

Additional months only $5 each. 

Send check, money order or inquines to: 

HBH PUBLISHING, INC. 
DEPT. C, P.O. Box 8470 
BOSSIER CITY, LOUISIANA 71 1 1 3 - 318 



126 • 80 Micro, December 1983 



Ill ROM in RAM to use the new 80 by 
24 display. Every point where the ROM 
would normally jump to the Radio 
Shack video driver changes to use the 
Holmes video driver. 

The locations normally assigned to 
the video RAM (3C00 to 3FFF hex- 
adecimal (hex)) aren't used for video; 
the system ignores them. The new video 
RAM location is the uppermost 2K of 
RAM in your computer (F800 to FFFF 
hex). 

Normally this means that you 
wouldn't have a full 64K of user RAM, 
but the Holmes board uses a bank- 
switching technique to flip the video 
RAM into place when the computer 
wants to access it, and to flip normal 
RAM in place the rest of the time. Thus 
your high memory Model III drivers are 
preserved for your use without altera- 
tion. 

This method works because the Z80 
can do only one thing at a time: When 
it's working on video RAM it can't use 
the high memory drivers or informa- 
tion, and vice versa. This is an interest- 
ing and efficient method of handling 
the video memory problem. 

Unfortunately, by moving the video 
RAM to a new location, any programs 



that bypass the video's device control 
blocks by going directly to video loca- 
tions in the range 3C00 to 3FFF hex 
won't work in the 80 by 24 display 
mode, so you have to remember to set 
the display to 64 by 16 when using those 
programs. 

When you first install the Holmes 
board, you have to adjust the video dis- 

"The CP/M mode 
is quite transparent. . . ** 

play circuit board in the Model III to get 
all 24 lines on the screen. This takes only 
a few moments, and it's kind of fun 
watching the letters on the display 
scrunch down and new lines appear 
from the bottom. 

The new 80 by 24 display requires 
that the individual characters be small- 
er, in order for all of them to fit on the 
screen. That's a small price to pay for 
almost doubling (from 1,024 to 1,920) 
the amount of information on your 
screen— an 80 percent increase. 

Another disadvantage is the appear- 
ance of snow on the video whenever you 
update the display, much like the snow 



on a normal Model III during high- 
speed display access (usually apparent 
during machine-language games). For- 
tunately, Holmes Engineering has a 
modification that makes the display 
clear and precise. Newer boards come 
with the modification. 

This approach, moving ROM to 
RAM and modifying it to use the 80 by 
24 display, lets you use almost any 
Model III DOS with the 80 by 24 dis- 
play. For example, TRSDOS works 
quite well in the 80 by 24 mode, with on- 
ly the DIR command requiring a patch 
[PATCH *6 (ADD = 5AFA,FIND = 
3F,CHG = OF)] to operate correctly in 
both display modes. Similarly DOS- 
PLUS 3.4, 3.5, and 4.x, NEWDOS80, 
LDOS, and MULTIDOS work with lit- 
tle or no alterations in both modes. 
They require no special software 
drivers. 

One other feature, reverse video, is 
accessible from either Model III mode 
or CP/M mode. 

The CP/M mode is quite transparent 
to the operator. Memory management 
on the Model III in CP/M mode gives 
you 62K of RAM (the other 2K is for 
disk I/O buffers and other miscellane- 
ous data involved with the disk drives). 



fd 



















Micro-Designs System-Upgrade 
for the TRS Model III and 4 



The Micro-Design TRS-80 upgrade includes Micro-Design's exceptional MDX-6 disk 
controller board, one 40 Track Disk Drive, necessary installation cables and hard- 
ware. Will also control external 8" Disk Drive Systems. 



Fom More iNfoftMAiioN & Free Literature 
CaII OR WrIte 

MICRO-DESIGN 

6301 Manchaca Road, Suite B 
Austin, Texas 78745 

Toll Fmi 

1-800-531-5002 

■ TMM Rts, Ctlll §1 2-441 -7990- 

-J fc „;„'„ , ; »' : ". : ; ■■'■•?■;■■,.?;,;„; 




Sm our othor ad* on pg*. 203, Ml 



^ Sm Utt of AOmtmn on Pagt 291 



80 Micro, December 1983 • 127 



The Holmes board uses a 4K 
EPROM for keyboard, video, and 
printer I/O. This EPROM is bank 
switched in and out of position in low 
memory as needed by the BIOS. 

The Holmes board lets you read and 
write to disks formatted by the IBM 
PC, Kaypro II, Xerox 820, Xerox 
820-11, Osborne-I, Zenith Z-100, Free- 
dom Technology (Model III CP/M sys- 
tem), Memory Merchant Shuffleboard 
III (Model III CP/M), Omikron (Mod- 
el I CP/M), and Morrow Micro-Deci- 
sion. 

If your computer has 8-inch disk 
drive capability, Holmes CP/M lets you 
use the 8-inch drives without patching. 
Eight-inch drive support includes the 
ability to read and write to disks for- 
matted in IBM 3740 single density, Xe- 
rox 820 single density, and Xerox 820-11 
double density. 

The Holmes board is available in two 
versions. The first, and cheaper, version 
has a 16K bank of RAM and uses the 
Model Ill's 48K RAM for the rest of the 
RAM it needs. The other version comes 
with 64K of on-board RAM and 
doesn't use the Model III RAM except 
as a RAM disk accessible from CP/M 



for extremely fast data storage and re- 
trieval. 

When I wrote this review, no known 
incompatibilities existed between 
Holmes CP/M and other CP/M soft- 
ware. You can even run UCSD Pascal 
with the Holmes board. 

Shuffleboard IH 

The Shuffleboard III (see Photo 3), a 
64K CP/M 2.2 system, is as easy as the 
others to install. The only difference is 
that you remove one of the Model III 
memory chips, U25, and replace it with 
a 16-pin plug attached to the Shuffle- 
board unit. After installing the board, 
you put your TRSDOS disk or your 
CP/M disk in drive zero and press reset. 
Level II Basic is still available, of 
course. 

Like Omikron, Memory Merchant 
has provided MBasic for Basic pro- 
grammers. You can also purchase an 80 
by 24 video board separately for $275. 

Actually, you have several hardware 
options with the Shuffleboard: If you 
want to, you can move a jumper on the 
board from its "Automatic boot from 
drive zero" position to another. This 
clears the screen and asks you which 



drive contains the system disk (press ze- 
ro for drive zero, one for drive 1, and 
so on). 

Another board option lets you select 
operation of either a 2716 ROM, or 
2732 or 2764 ROMs. The manual 
doesn't discuss this option, so it's prob- 
ably being reserved for future develop- 
ments and enhancements. 

A unique feature of Shuffleboard is 
the ability to switch between CP/M and 
TRSDOS using the appropriate com- 
mand. If you're in TRSDOS and want 
to go to CP/M, enter the DOS com- 
mand CPM. From the CP/M prompt, 
enter DOS. These are memory erasing 
changes: Anything in memory is zeroed 
out, so you can't transfer between the 
two operating systems and maintain in- 
memory data integrity. 

In its present form, Shuffleboard 
CP/M is compatible with 35-, 40-, 77-, 
and 80-track 5 V* -inch disk drives. With 
the addition of the Memory Merchant 
disk controller, you can use 8-inch disk 
drives. 

As with the Omikron board, you can 
use your Model III as a slave to a re- 
mote terminal, using the remote termi- 
nal for input instead of the keyboard. 




WE MAKE A GREAT CASE 
FOR YOUR RADIO SHACK. 



RS204 



One size does not fit all. Our cases are designed for specific hardware con- 
figurations. When you put your computer in our case, it fits hand-in-glove. 
Once your equipment is safely inside the attache-style carrying case, it never 
has to be taken out again. To operate, simply remove the lid and connect the 
power. To store your computer, disconnect the power, enclose your disks, 
working papers, and manuals in the compartments provided, and attach 
the lid. It's as easy as that. 



RS201 

RS204 

AP106 

P401 

P402 

P403 

P404 
P405 
P406 
P407 
P408 
P409 

P410 
IB501 
IB502 
CC50 
CC80 
CC90 
CC91 

CC92 



CALL TOLL FREE: (800) 848-7548 

Model I with expansion unit and drives $109 



Model III or IV 



129 



AmdekColorUlorlllMonitor 119 

Paper Tiger Printer (400/445/460) 99 

Centronics 730/737 

&RadtoShack Printer 89 

Epson MX70 or MX80, Microline 

d2A Printer or Color Computer 89 

Epson MX100 Printer 99 

IDS 560 or Prism 132 Printer 109 

C.ltohStarwriter/PrintmasterF-10 Printer 119 

Okldata Microline 83A or 84 Printer 99 

C. Itoh Prowrlter 2 Printer 99 

C. Itoh Prowriter (Apple Dot Matrix) 

or NEC PC8023 Printer 89 

Epson FX80 Printer 109 

IBM Personal Computer with Keyboard 129 



IBM Monochrome Monitor 

Case Cart 

Matching Attache Case (5") 

Matching Attache Case (3") 

Matching Accessories Case 

(5V«" Diskettes, Paper, etc.) 

5.25" Diskette Case (Molds 75 Diskettes) 



99 
79 
85 
75 

95 
49 



Computer Case Company, 5650 Indian Mound Court, Columbus, Ohio 43213 (614) 868-9464 




128 • 80 Micro, December 1983 



Tired of swapping Disks from Inventory to Accounts Receivable 
to Accounts Payable etc.? Now, one system does it all. 

Introducing 

The M.B.S. 
Business Management System 

At last a completely Integrated, Menu driven System for: 



INVOICING 

Opens Customer Files 
Opens A/R Accounts 
Updates Inventory 
Stores Mail List Files 
Stores Sales Records 
Computes Sales Tax 

CUSTOMER FILES 

Maintains Order Status 
Prints Labels 

Prints Customer Balances 
Stores Order Amounts 
Stores Order Payments 
Prints Statements 



MAIL LABELS 

Stores by Variable File Names 
Sorts by Zip Code 
Sorts by Name 

INVENTORY 

Sets Upper and Lower Limits 
Generates Purchase Orders 
Lists Inventory by Vendor 

ACCOUNTS RECEIVABLE 

Open A/R Accounts 
Generates Monthly Statements 
Interest and Non-Interest Accounts 
Listing of Accounts Balances 
Manually Enter Charges and Payments 



ACCOUNTS PAYABLE 

Enter Charges to Accounts 
Enter Payments to Accounts 
List Payable Balances 

1 CHECK WRITING 

Print or Record Checks 
Maintains Bank Balance 
Credit Accounts Payable 
Stores Expense Totals 

FINANCIAL STATEMENTS 

Prints Sales Reports 

Prints Operating Statements 

Prints Receipts Reports 

Modifies Expense and Sales Totals 



Yes, now there is a complete business system for the small business man. With our Business Management System, you can increase soles with our mail label function. 
Complete your Schedule C in as little as 15 minutes Know what your business is doing, ond maintain other important business functions. 

This easy to use system comes complete with instruction manual, ond diskette on Dosplus mini TDOS operating system with extended Basic, and one year support. All 
programs are in Basic, ond require two disk drives and 48K RAM If you hove waited for the right business software for your business, your wait is over. Our current 
users love our system and you will too. 



Special Introductory Price $249. 95 



GAMEMASTER 

Do you get complaints from your spouse, family ond friends that you isolate yourself from them while "playing" with your computer? Do you wish there was o game 
that could get everyone involved? Do you enjoy creative expressions as well as playing gomes? If so, we have a unique Program/ Gome wich could be the answer. It's 
called GAMEMASTER. 

This program lets you easily develop and play your own adventure games. It does not create a game which you play against the computer, but creates □ game which 
you the game creator, direct the game play while your computer maintains the game conditions ond resolves combat. 

GAMEMASTER package includes routines for creating player characters, creatures, items (weapons, armour, implements, or treasures), and environment (time, 
location etc.). Comes on diskette with sample scenerio. Requires one disk drive and 48k ram. 

Price $ 39. 95 



Specify Model I, Model III, Model IV, or LNW 
Dealer Inquiries Invited 



PRINTERS 

Prowriter S 379 

Prowriter2 $ 699 

StarwriterFlO S 1299 

Okidata82A $ 409 

Okidata83A $ 649 

Okldata92 $ 509 

Okldata93 $ 899 

SllverReed $ 499 

Mannesman" Tally Call 

NEC Call 

Transtar Call 



PERIPHERALS 

Hayes Smart modem $219 

Hayes300/1200 $539 

Holmes VID80 $259 

Holmes CPM 2.2 $109 

64KRam $114 

Holmes DX3DC $ 157 

Holmes DX4DC $157 

Holmes High Speed Ram ..$29 

Holmes Sprinter I $ 89 

Holmes Sprinter III $ 89 

Holmes Sprinter KX $ 129 

Diskettes Call 



LN.W. 

LNW80II $1495 

LNDoublerw/DOS $ 199 

System Expansion $ 399 

MONITORS 

Amdek 300G $ 149 

Amdek300A $ 159 

AmdekColorl $ 339 

AmdekColorll $ 469 

Taxan Amber $ 149 

Taxan Green $ 139 

Taxan RGBI $ 319 

Taxan RGB III $ 599 



SOFTWARE 

DOSPLUS 3.5 $119 

DOSPLUS IV $119 

MTERM $ 69 

TRSDOS6.0 Plus Enhance $ 45 

Super Utility Plus $ 69 

Newscript 7.1 $ 99 

Newscript w/labels $ 109 

FlleConverter $ 20 

Trashman $ 35 

Faster $ 27 

Tallymaster $ 69 

Electric Webster $ 129 



vO c0«f/,, 



CT1BS 



& 



Sw Ust of Advertisers on Page 291 



Microcomputer Business Systems 

14030 South Springfield Road 
Brandy wine, Maryland 20613 
1-800-638-1857 
in Maryland 1 (301) 372-8555 — Washington, D.C. Local Call 




80 Micro, December 1983 • 129 



And unlike the other two CP/M sys- 
tems, Shuffleboard includes the Auto 
command as a valid command, which 
operates just like the TRSDOS Auto 
command. The length of the command 
is limited to one screen line (64 charac- 
ters). 

Memory Merchant CP/M is config- 
ured to expect the CP/M drive A to be 
the physical drive zero, drive B to be 
drive 1 , drive C to be drive 2, drive D to 
be drive 3, and drive E to be nonexis- 
tent. Drive E invokes a special Memory 
Merchant CP/M utility called a virtual 
drive. You also have drives F-I avail- 
able as single-density drives. 

The first two logical drives (A and B) 
are 5 V* -inch, 40-track, double-density 
drives. The third drive is configured as 
an 8-inch, 77-track, double-density 
drive. You can reorganize the CP/M 
drive map to match any setup you have, 
including using physical drive 4 as the 
boot-up drive, logical drive A. You do 
all this by using a disk drive map that 
lets you match any of the logical drive 
parameters to the physical drives. 

Now for the virtual drive. Memory 
Merchant has altered CP/M so you can 
logically change a disk drive assignment 
while running CP/M, a procedure not 
allowed with the other CP/M systems. 
This virtual drive capability means that 
you can make single-drive copies. 

If you have two 5 V* -inch drives and 
one 8-inch drive, you can use the virtual 
drive assignment to copy a file from one 
8-inch disk to another. Otherwise, 
you'd have to copy the file to a 5 Va -inch 
disk, change disks in the 8-inch drive, 
invoke a warm-boot on that drive, then 



copy the file from the 5 14 -inch drive to 
the new 8-inch disk. 

This virtual assignment capability is 
reflected in the use of logical drives F-I. 
Physical drives 1-3 are given two logical 
drive numbers, B-D and F-H. Drive 1 
is both logical drive B and logical drive 
F. The difference is that drive B is a 
double-density drive and drive F is a sin- 
gle-density drive. 

You can copy files from or to a sin- 
gle-density disk without going to the 
disk drive assignment table and chang- 
ing one of the drives to be logically sin- 



"All three boards 
are easy to install. " 



gle-density. To let you copy files be- 
tween single density and double density 
on the same drive, logical drive I is used, 
just as logical drive E is used for single- 
drive, double-density file copying. 

Speaking of copying, the Shuffle- 
board can read and write to Osborne I, 
Xerox 820, and IBM PC formatted 
disks. 

Three manuals come with the Shuf- 
fleboard III. The user's manual is a 
77-page, 8- by 11-inch printed booklet 
that covers all phases of board installa- 
tion and CP/M use. The second manual 
is a bound edition of the new Digital Re- 
search documentation on CP/M. 

The last manual is the Microsoft 
MBasic" instruction book. Unlike the 
previous DRI manuals, these books are 
well written and easy to understand. 



Both books top 250 pages in length. 

Summary 

All three boards are easy to install 
with only screwdrivers and a nail file. If 
you follow the instructions carefully, 
you should have no problems with the 
installation. 

One disadvantage shared by all three 
boards is that they make it difficult for 
the CPU RFI shield to fit properly. The 
clearance between the RFI shield and 
the CPU board is almost, but not quite, 
enough room for the new piggy-back 
boards. On my Model III, I could only 
get the screws on the left side (looking at 
the CPU board from the rear of the 
computer) to go into place. 

Putting the top and right side screws 
in place put a good deal of stress on the 
two boards, and actually forced the RFI 
shield to bulge. However, the three 
screws I used easily keep the shield in 
place, and should maintain the cage de- 
sign of the Model III. 

At present, the Holmes board has the 
largest base of CP/M disk formats that 
it can read and write, but the others are 
rapidly catching up. And all three com- 
panies offer excellent customer support, 
with customer hotline phone numbers. 

As you can see, the final decision on 
which board is best depends on your 
needs. As a purely personal response, 
the Holmes Engineering board is my fa- 
vorite; it seems to offer the most for my 
needs. ■ 



Contact Terry Kepner c/o 80 Micro, 80 
Pine St., Peterborough, NH 03458. 




Sure 
Ws insured? 

SAFEWARE™ Insurance provides full 
replacement of hardware, media and 

purchased software. As little as $35/yr covers: 
• Fire • Theft • Power Surges 

• Earthquake • Water Damage • Auto Accident 

For information or immediate coverage call: 

1-800-848-3469 

(In Ohio call 1-800-848-2112) 

COIJMBIA NATIONAI GENERAL AGKNCY 



ITS HERE! 



CMON is a machine language monilot progiam 
Usmg single letter commands, the user program can be 
executed under full control ol CMON This gives the 
programmer the option to see the program as each 
instruction is executed making CMON invaluable lor 
finding those mconspicious. and sometimes latal little 
gremlins haunting your software CMON is easy to 
use and will quickly earn a place in your software 
library 

FEATURES STANDARD MONITOR COMMANDS + USER 
PROGRAM EXECUTION WITH REGISTER OISPLAY RAM 
ROM BREAKPOINTS READ — WRITE OBJECT FILES TO 
DISK. DISPLAY TO CRT OR PRINTER AND MORE 

AVAILABLE ON NON-SYSTEM DISK OR CASSETTE 
SPECIFY MEDIA TYPE AND Ml OR M3 FORMAT 
'Cassette version coming soom 

COST ISS?3 00 ppd MONEY 0H0ER0RCASHIERS 
CHECK. NO PERSONAL CHECKS PLEASE SEND 
SI 00 FOR SAMPLE PRINTOUTS AND COMMANDS 
SUMMARY DEDUCTABLl WUH ORDER 

Please send payment or inquiries to 

THREE STATE DATA 

144S3 TURIN tANE 
CENTREVIUE VA ??0?0 ' 72 



IEEE-488 TO TRS-80* INTERFACE 

Everything needed to add powerful 
BASIC GPIB-488 controller capability to 
TRS-80 Model 1, 3 or 4, Level 2 or DOS 
with a minimum of 16K. 



Tfm- mk\WJk^aT* 



I 



448-BOC 

Pot Modal 3 or 4 
Operation 4U-90B 

For Model 1 
Opera Hon 



I j£L 



Model 488-80B or 488-80C Price: $375 

+ shipping, insurance A rax 
WHEN ORDERING SPECIFY DISK OR TAPE 

SCIENTIFIC ENGINEERING 
LABORATORIES 

11 Neil Drive • Old Bethpage. NY 11804 

Telephone: (516) 694-3370 
* Trademark of Tandy Corp 
There is no affiliation between Scientific 
Engineering Laboratories and Tandy Corp or 
Radio Shack 



130 • 80 Micro, December 1983 




every month. 

ALL THE NEWS YOU NEED FOR THE 80'S 



80 Micro is news. News like our in-depth coverage of 
Tandy's Model 100 debut in Boston and its impact on the 
market. News like U.S. Senator Paul Tsongas' speech on 
Asian competition and the importance of innovation. News 
like what's happening at Texas Instruments and why. You'll 
agree that 80's "NEWS THIS MONTH" column is the news 
you need to stay informed. 

80 is also a practical journal. It gives you the information 
you need to expand your TRS-80 computing potential. Infor- 
mation like: 

• New product reviews— save valuable time getting the facts 
and figures on the latest equipment releases. 

• Hardware modifications— upgrade your computer and 
become more familiar with its functions while you save 
money and increase its value. 

• Debugging techniques— 80 Micro saves time with expert 
solutions to common and uncommon problems. 

• User-application programs— written by readers like you 
who need programs to maximize the productivity of their 
machines. 

And 80 Micro doesn't stop there. Every month, from 
cover to cover, you'll get top rate REVIEWS: whether you're 
buying or just looking, 80 keeps you informed on what 
state-of-the-art can do for you. 



If you want to get ahead with your TRS-80. get 80 Micro, 
the news source of the 80's. 



YES! Give me the news I need to put me 
ahead and help me stay there. Send me 12 
issues of 80 Micro for $24.97. 



□ MC D VISA 

Card* 

Signature 

Name 

Address 

City 

Zip 



DAE D CHECK/MO □ BILL ME 
. Exp. Date 



State 



Canada and Mexico $27.97. 1 year only. 
US funds drawn on US bank. 
Foreign surface $44.97. 1 year only. 
US funds drawn on US bank. 

Please allow 6-8 weeks for delivery. 

•TRS-80 Is a trademark of Radio Shack, 
a division of Tandy Corp. 33DP8 

80 Micro • PO Box 981 • Farmingdale, NY 11737 

80 Micro, December 1983 • 131 




UTILITY 



Protected Tape Programs 



by Dan Robinson 



This pair of short routines safeguards 
your cassette pr ograms against predators. 

ProteK (with a K; see Program List- 
ing 1) makes your system tape auto- 
start so spies can't jump into a monitor 
program. It adds a leader to your tape 
which befuddles copy programs tike the 
RSM series or LMOFFSET by sending 
a false checksum. A double delay loop 
foils other copy cats that swallow pro- 
grams until they think they've devoured 
the last byte. 

The program includes pitfalls for 



Protect your tape pro- 
grams from predators 
with these two routines 
that prohibit copying. 



those who load a monitor first and 
count on getting to your programs fol- 
lowing a reboot: The entry points for 
TBUG, DEBUG, and RSM2 16K, 32K, 









Program Listing 1. ProteK routine. 






00180 


; PROTEK 


2.0— 


-CASSETTE SYSTEM TAPES ONLY 


41E2 




00110 




ORG 


41E2H ; SYSTEM RELAY FOR AUTO START 


41E2 


E9 


00120 




DEFB 


IE9H 


7E00 




00130 




ORG 


7E00H ; PROTEK 


7E00 




00140 


START 


EQU 


S 


7E00 


CDC901 


00150 




CALL 


01C9H .-CLEAR SCREEN 


7E03 


217 97F 


00168 




LD 


HL.MSG1 ) DISPLAY PGM NAME PROMPT 


7E06 


CDA728 


00170 




CALL 


28A7H 


7E09 


3E0D 


08188 




LD 


A.0DH 


7 EBB 


CD3A03 


00190 




CALL 


03 3 AH 


7E0E 


2AA740 


00200 




LO 


HL,(40A7H) 


7 til 


061S 


00210 




LD 


B,21 


7E13 


CDD905 


00220 




CALL 


05D9H ; INPUT NAME fc ADDRESSES 


7E16 


116D7F 


00230 




LD 


DE.NAME 


7E19 


7E 


08248 


NAHE1 


LD 


A, (HL) 


7E1A 


FE2F 


08258 




CP 


2FH j ■/" 


7EIC 


280S 


00260 




JR 


Z.NAME2 


7E1E 


12 


08270 




LD 


(DE),A 


7E1F 


23 


88288 




INC 


HL 


7E20 


13 


80290 




INC 


DE 


7E21 


1BF6 


00308 




JR 


NAME1 


7E23 


CD1D7F 


00310 


NAME2 


CALL 


HEX 


7E26 


32747F 


80328 




LD 


(STADR+1) ,A 


7E29 


CD1D7F 


00330 




CALL 


HEX 


7E2C 


32737F 


00340 




LD 


(ST ADR) ,A 


7E2P 


23 


003S0 




INC 


HL 


7E38 


CD1D7F 


00360 




CALL 


HEX 


7B33 


32767F 


00370 




LD 


(ENDADR+1) ,A 


7E36 


CD107F 


003 80 




CALL 


HEX 


7E39 


32757F 


00390 




LD 


(ENDADR) ,A 


7E3C 


23 


80488 




INC 


HL 


7E3D 


CD1D7F 


00410 




CALL 


HEX 


7E40 


32787F 


00420 




LD 


(TRPADR+1) ,A 


7E43 


CD1D7F 


80438 




CALL 


HEX 


7E46 


32777F 


00440 




LD 


(TRFADR) , A 


7E49 


3E0D 


00450 




LD 


A,0DH 


7E4B 


CD3A03 


00460 




CALL 


033AH 


7E4E 


21AA7F 


00470 




LD 


HL.MSG2 ; DISPLAY PREPARE RECORDER 


7E51 


CDA728 


00480 




CALL 


28A7H 


7E54 


010000 


00490 




LD 


BC.0000 


7E57 


CD6800 


00500 




CALL 


0060H 


7E5A 


B7 


00510 




OR 


A 


7E5B 


3A4038 


00520 


READY 


LD 


A,(3840H) ;CHECK KEYBOARD FOR <ENTER> 


7E5E 


PE01 


00530 




CP 


01H 


7E60 


2807 


00540 




JR 


Z,REC 


7E62 


FE04 


00550 




CP 


04 ; CHECK KEYBOARD FOR <BREAK> 


7E64 


CAB 07 E 


00560 




JP 


Z, START j RETURN TO BASIC 

Listing 1 continued 



and 48K will take them back to the 
MEMORY SIZE? prompt. 

ProteC (with a C; see Program List- 
ing 2) converts your Basic program into 
a system tape with an auto-start feature 
and the same booby traps as its com- 
panion program. Furthermore, the pro- 
gram turns the trace off (TROFP) and 
disables the break key so that no one 
can list your program to the screen or a 
printer. 

Instructions 

To safeguard a Basic program, you 
can load ProteC either before or after 
your Basic file. As it completes its load, 
ProteC displays detailed instructions on 
the screen. The program then returns to 
the Bask READY prompt, and you're 
set to go. 

ProteK does not list the instructions 
to the screen; you load it in series after 
the system program you wish to encode. 
When you load ProteK, it automatical- 
ly boots up, asking for the name of the 
new system tape and the hexadecimal 
start/end/transfer address. The pro- 
gram prompts you to prepare the tape 
recorder, and then writes your encoded 
program. 

Both ProteC and ProteK change some 
pointers and addresses, so once you've 
encoded your program it's wise to reset 
yourTRS-80.H 

Contact Dan Robinson at J625 Hig- 
gins Way, Pactfka, CA 94044. 



The Key Box 

Model I 
16KRAM 
Assembly Language 
Editor/Assembler 
Tape Recorder 



132 • 80 Micro, December 1983 



Listing 1 continued 












7E67 


18F2 


00570 




JR 


READY 




7E69 


P3 


00580 


REC 


DI 






7E6A 


3E2A 


00590 




LD 


A, 2 AH 




7E6C 


323E3C 


BB6BB 




LD 


(3C3EH) , 


A j STAR 


7E6P 


3 EBB 


0B61B 




LD 


A,0 




7E71 


CD12B2 


BB620 




CALL 


021 2H 


INITIALIZE RECORDER #1 


7E74 


CD87B2 


0B63B 




CALL 


0287H 


WRITE LEADER t SYNC BYTE 


7E77 


3E55 


BB640 




LD 


A,55H 


; SYSTEM TAPE ID 


7E79 


CD64B2 


00650 




CALL 


026 4H 


(WRITE BYTE 


7E7C 


116D7F 


00660 




LD 


DE.NAME 




7E7P 


0616 


00670 




LD 


B,6 




7E81 


1A 


00680 


WRTNAM 


LD 


A, (DE) 




7E82 


CD64B2 


006 90 




CALL 


B26 4H 




7E85 


13 


00700 




INC 


DE 




7E86 


1BF9 


0B71B 




DJNZ 


WRTNAM 


WRITE NAME 


7E88 


3E3C 


BB72B 




LD 


A,3CH 


DISABLE LMOFFSET 


7E8A 


CD64B2 


BB73B 




CALL 


0264H 




7E8D 


3EB1 


00740 




LD 


A,l 




7E8F 


CD6402 


00750 




CALL 


0264H 




7E92 


3E00 


00760 




LD 


A,00H 




7E94 


CD6402 


00770 




CALL 


B264H 




7E97 


3E00 


00780 




LD 


A,B0H 




7E99 


CD6402 


00790 




CALL 


0264H 




7E9C 


3E00 


00800 




LD 


A,0 




7E9E 


CD6402 


00810 




CALL 


0264H 




7EA1 


CD6402 


0B82B 




CALL 


0264H 


OUTPUT FALSE CHECKSUM 


7EA4 


213E3C 


BB83B 




LD 


HL,3C3EH 




7EA7 


DD21EB7F 


00840 




LD 


IX, STAR 




7EAB 


CD417F 


00850 




CALL 


SET 




7EAE 


B1BBBB 


00860 




LD 


BC.0000 


DEFEAT TIMERS 


7EB1 


CD600B 


00870 




CALL 


0060H 




7EB4 


CD60BB 


00880 




CALL 


0060H 




7EB7 


21A043 


00890 




LD 


HL.43ABH 


; TBUG 


7EBA 


CD3D7F 


0090B 




CALL 


BLOCK 




7EBD 


21807F 


BB91B 




LD 


HL.7F80H 


;RSM2 fc 2D 16K 


7ECB 


CD3D7F 


00920 




CALL 


BLOCK 




7EC3 


2180BF 


00930 




LD 


HL.BBF8BH :RSM2D 32K 


7EC6 


CD3D7F 


00940 




CALL 


BLOCK 




7EC9 


218BFF 


0B95B 




LD 


HL.BFF8BH ; RSH2D 48K 


7ECC 


CD3D7P 


BB96B 




CALL 


BLOCK 




7ECF 


21BF4B 


BB97B 




LD 


HL.400FH 


; DEBUG 


7ED2 


CD3D7F 


BB98B 




CALL 


BLOCK 








0099B 


;ADD BLOCKING 


ROUTINES HERE — LD HL,ADDR CALL BLOCK 


7ED5 


2A757F 


B1BBB 




LD 


HL, (END ADR) 


7 EDS 


ED5B737F 


01810 




LD 


DE,(STADR) 


7EDC 


B7 


B1B2B 




OR 


A 




7EDD 


ED52 


B103B 




SBC 


HL,DE 




7EDF 


EB 


B1B4B 




EX 


DE,HL 




7EE0 


ES 


01050 




PUSH 


HL 




7EE1 


DDE1 


01060 




POP 


IX 




7EE3 


7A 


01070 




LD 


A,D 




7EE4 


FEB0 


01080 




CP 







7EE6 


2808 


01090 




JR 


Z,WRT2 




7EE8 


0600 


01100 


WRT1 


LD 


B,0 




7EEA 


CD437F 


01110 




CALL 


PUNCH 




7EED 


IS 


01120 




DEC 


D 




7EEE 


20F8 


01130 




JR 


NZ,WRT1 




7EF0 


7B 


01140 


WRT2 


LD 


A,E 




7EF1 


PE00 


01150 




CP 







7EP3 


CAFA7E 


01160 




JP 


Z,WRT3 




7EF6 


43 


01170 




LD 


B,E 




7EF7 


CD437F 


01180 




CALL 


PUNCH 




7EFA 


0601 


01190 


WRT3 


LD 


B,l 




7EFC 


DD216C7P 


01200 




LD 


IX, LIST 




7FI0 


21E241 


01210 




LD 


HL,41E2H 


; SYSTEM/ AUTO- START RELAY 


7FB3 


CD437F 


01220 




CALL 


PUNCH 




7FB6 


ED5B777F 


0123B 




LD 


DE,(TRFADR) 


7FBA 


3E7B 


B124B 




LD 


A,78H 


; TRANSFER BLOCK 


7FBC 


CD6402 


B125B 




CALL 


026 4H 




7FBF 


7B 


B126B 




LD 


A,E 




7F1B 


CD64B2 


B1270 




CALL 


B264H 




7F13 


7A 


B1280 




LD 


A,D 




7F14 


CD64B2 


B129B 




CALL 


B264H 




7F17 


CDF8B1 


81300 




CALL 


B1F8H 


;TURN OFF RECORDER 


7F1A 


C38B7E 


01310 




JP 


START 




7F1D 


23 


01320 


HEX 


INC 


HL 


; ASCI I TO HEX 


7F1E 


7E 


B133B 




LD 


A,(HL) 




7F1F 


D630 


B134B 




SUB 


3BH 




7F21 


FE0A 


81358 




CP 


10 




7F23 


F43A7F 


B1360 




CALL 


P.ADJ 




7F26 


CB27 


B1370 




SLA 


A 




7F28 


CB27 


01380 




SLA 


A 




7F2A 


CB27 


01390 




SLA 


A 




7F2C 


CB27 


01400 




SLA 


A 




7P2E 


47 


0141B 




LD 


B,A 




7F2F 


23 


B142B 




INC 


HL 




7F3B 


7E 


B1430 




LD 


A,(HL) 




7P31 


0630 


01440 




SUB 


30H 




7F33 


PEBA 


0145B 




CP 


10 




7F35 


F43A7P 


B146B 




CALL 


P,ADJ 




7F38 


8B 


B147B 




ADD 


A,B 




7F39 


C9 


B148B 




RET 






7F3A 


D6B7 


B149B 


ADJ 


SUB 


7 




7F3C 


C9 


B15B0 




RET 






7F3D 


DD216B7F 


B1510 


BLOCK 


LD 


IX, RESET 




7F41 


B6B1 


B152B 


SET 


LD 


B,l 




7F43 


3E3C 


0153B 


PUNCH 


LD 


A,3CH 


BLOCK SYNC 


7F45 


CD64B2 


B154B 




CALL 


0264H 


WRITE BYTE 


7F48 


78 


B155B 




LD 


A,B 


BYTE COUNT 


7F49 


C064B2 


01568 




CALL 


0264H 




7F4C 


7D 


B1570 




LD 


A,L 


LSB ADDRESS 


7F4D 


CO6402 


8158B 




CALL 


0264H 




7PSB 


4F 


B159B 




LD 


C,A 


SAVE FOR CHECKSUM 


7P51 


7C 


01600 




LD 


A,H 


MSB ADDRESS 


7F52 


CD6402 


8161B 




CALL 


0264H 




7F55 


81 


B162B 




ADD 


A,C 




7F56 


4F 


B1630 




LD 


C,A 


Listing 1 continued 



SYSTEM DIAGNOSTIC 

Complete diagnostic tests for every compo- 
nent of your TRS-80" Model 1, 3 or 4. Tests for 
ROM. RAM. Video Display, Keyboard, Line Print- 
er, Cassette Recorder, Disk Drives, RS-232-C Inter- 
face. Individual tests or continuous testing mode. 
System Diagnostic $99.95 

TYPITALL 

TheSCRIPSlT" Compatible Word Processor 
TYPITALL is a word processing program which 
is upward compatible with SCRIPSIT" for the 
TRS-80" Models 1 , 3 and 4. TYPITALL includes 
features like these: Assign any sequence of key- 
strokes to a single control key. See the formatted 
text on the screen before printing. Send the for- 
matted text to a disk file for later printing. Merge 
data from a disk file during printing. Send ANY 
control or graphic character to the printer. Use 
the same version on the Model 1 or Model 3. 
Reenter the program with all text intact if you 
accidentally exit without saving the text. 
TYPITALL (disk only) $129.95 

TRS-80'" MODEL III 
ASSEMBLY LANGUAGE 

A complete course in assembly language, 
written for the beginner. Basic concepts, the Z- 
80 instruction set. complete Model III ROM and 
RAM information, programming examples, the 
disk controller, the TRSDOS 1.3 disk operating 
system, RS-232-C interface. 

With the book you can also purchase Mon- 
itor #5, a comprehensive machine language 
monitor (specify Model 1 or 3). 

Book only $16.95 

Book and Monitor #5 on disk $29.95 

SMART TERMINAL 

The intelligent terminal program, with auto- 
matic transmission and storage of data, true 
BREAK key, character translations, cassette and 
disk files compatible with SCRIPSIT" and Elec- 
tric Pencil". Same program supports both cas- 
sette and disk systems. 

Model 1, 3 or 4 $74.95 

Model 2/12/16 (CP/M) Version $79.95 

SMALL BUSINESS 
ACCOUNTING 

Based on Dome Bookkeeping Record #612, 
this program keeps track of income, expenses, 
and payroll (not in cassette version) for a small 
business. 

Model 1/3/4 dick version $59.95 

Model 1/3/4 cassette version $29.95 

Model 2/12/16 or IBM/PC version .... $69.95 

SMALL BUSINESS 
MANAGEMENT SYSTEM 

An integrated package that manages order 
entry, invoicing, general ledger, accounts re- 
ceivable, and inventory for a small business. 
Installation package tailors the programs to 
your business. Requires minimum 2 floppy disk 
drives or hard disk. 80-column printer. Available 
for TRS-80* Models 1/3/4, 2/12/16, IBM/PC, 
Osborne I, Kaypro II, and many other CP/M 
computers. 
AB versions $250.00 



24-hour TOLL-FREE Order Number 
Outside California call: 

(800) 428-7825, ext. 169 

Inside California call: 

(800) 428-7824, ext. 169 



Visa, Master Card, or COD orders only. 
Add $3.00 postage & handling. 
New York residents add sales tax. 

Howe Software 

14 Lexington Rd., New City, NY 10956 

•TRS-80* is a trademark of Tandy Corp. 



.^175 

B0 Micro, December 1983 • 133 




CREATE: f oru . l»b«ll and form letters. 



This machine code word processor c»n 
•van ADD/SUBTRACT bookkeeping column 

Change, delete, add, insert, stove, copy 
(characters/lines/blocks) of text fast. 

SELECT: margins, page length, number of 
copies, tabs, center lines / page, line 
spacing and LEGAL PAPER LINE NUMBERING. 

MODEL I users get: Model III shift key 
controlled upper / lower case letters!! 

EASIER to USE than other systems . Only 
i keys control 96% of the LW features!! 

TRY a IM for 3 MONTHS. If not satisf- 

ied return it. He will refund all but 
$3.50 to cover postage / handling. IF 
YOU CAN NOT RETURN IT, DO NOT BUY IT. 

C. A. of N. Y. rates his LW purchase as 
"one of the best buys I have Bade. "I 



TAPE 16K Model I/III systems $23.99 
DISK 32K Model I/III systems $37 99 



WE PAY: t ax / US postage on all orders. 
SbCbISs Cspecials^ ' T* .,-. 



Verbatim MD525 01 disks: 
Microsette CIO tape*box: 



10 for $25.95 
20 for $13.95 



5905 Stone Hill Dr. 
Rocklin, CA 95677 



Computer Phone 
(916) 624-3709, 



YOUR TRS-80* 

SPECIALISTS 

IN CANADA 

HACKER'S PARADISE 

7VT 




nimcf * iMMtii 



SOFTWARE FROM 

ADVENTURE INTERNATIONAL 

APPARAT INC. 

BIG FIVE 

CORNSOFT 

MED SYSTEMS 

FANTASTIC SOFTWARE 

INFOCOM 

AND MORE 

EPSON PRINTERS 

DISK DRIVES 

BOOKS 

MODEL I LOWER CASE MOD 

WRITE OR PHONE FOR A FREE CATALOGUE 

CMD MICRO 

10447 - 124 STREET " 1 » 1 

EDMONTON. ALBERTA 

T5N 1R7 
PHONE 403- 488-7109 

VISA & MASTERCARD ACCEPTED 
•TRS-80 IS A TRADEMARK OF TANDY CORP 



Living 1 continued 
















7F57 


DD7E32 




01640 


PUN1 


LD 


A, (IX) 






7F5A 


CD6402 




01650 




call 


0264H 






7F5D 


23 






01660 




INC 


HL 






7F5E 


DD23 




01670 




INC 


IX 






7F60 


81 






01680 




ADD 


A,C 






7F61 


4F 






01690 




LD 


C,A 






7F62 


10F3 




01700 




DJNZ 


PUN1 






7F64 


CD6402 




01710 




CALL 


0264H 


;OUTPUT CHECKSUM 




7F67 


CD2C02 




01720 




CALL 


022CH 


; BLINK STAR 




7F6A 


C9 






01730 




RET 








7F6B 


76 






01740 


RESET 


DEFB 


76H 


;HALT CODE 




7F6C 


E9 






01750 


LIST 


DEFB 


0E9H 






7F6D 


20 






01760 


NAME 


DEFB 


20H 






7F6E 


20 






01770 




DEFB 


20H 






7F6F 


20 






01780 




DEFB 


20H 






7F7B 


20 






01790 




DEFB 


20H 






7F71 


20 






01800 




DEFB 


20H 






7F72 


20 






01810 




DEFB 


■ 20H 






0002 








01820 


STADR 


DEFS 


2 


; STORE START ADDRESS 




0002 








01830 


ENDADR DEFS 


2 


; STORE END ADDRESS 




0002 








01840 


TRFADR DEFS 


2 


; STORE ENTRY ADDRESS 




7F79 


45 






01850 


MSG1 


DEFM 


'ENTER 


PROGRAM NAME/START/END/ENTRY HEX 


ADDR 


ESSES' 




















4E 


54 


45 


52 20 


50 52 


4F 










47 


52 


41 


4D 20 


4E 41 


4D 










45 


2F 


53 


54 41 


52 54 


2F 










45 


4E 


44 


2F 45 


4E 54 


52 










59 


20 


48 


45 58 


20 41 


44 










44 


52 


45 


53 53 


45 53 










7FA9 


00 






01860 




DEFB 









7FAA 


20 






01870 


MSG2 


DEFM 


• 


PREPARE RECORDER AND PRESS RECORD 


t PL 


AY <ENTER> 


















20 


20 


20 


20 50 


52 45 


50 










41 


52 


45 


20 52 


45 43 


4F 










52 


44 


45 


52 20 


41 4E 


44 










20 


50 


52 


45 53 


53 20 


52 










45 


43 


4F 


52 44 


20 26 


20 










50 


4C 


41 


59 20 


3C 45 


4E 










54 


45 


52 


3B 












7FDF 


00 






01880 




DEFB 









7FE0 


2A 






01890 


STAR 


DEFB 


2 AH 






7E00 








01900 




END 


START 






00000 TOTAL ERRORS 



















Program Listing 2. ProteC routine. 






00100 


1 PROTEC 


1.1 — 


-BASIC CASSETTE TAPES ONLY 


41E2 




00110 




ORG 


41E2H ; 


SYSTEM RELAY FOR AUTO START 


41E2 


E9 


00120 




DEFB 


0E9H 




40B1 




00130 




ORG 


40B1U ; 


BASIC TOP OF MEMORY PTR 


40B1 


1F7E 


00140 




DEFW 


START- 1 




418E 




00150 




ORG 


418EH 


NAME VECTOR 


418E 


C3 


00160 




DEFB 


0C3H 


JUMP 


41 8F 


207E 


00170 




DEFW 


START 




4049 




00180 




ORG 


4049H 


MEMORY SIZE 


4049 


1F7E 


00190 




DEFW 


START-1 




7E20 




00200 




ORG 


7E20H 


PROTEK 


7E20 




00210 


START 


EQU 


1 




7£20 


CDC901 


00220 




CALL 


01C9H 


CLEAR SCREEN 


7E23 


31287E 


00230 




LD 


SP,START+8 


7E26 


21837F 


00350 




LD 


HL,MSG1 


DISPLAY PGM NAME PROMPT 


7E29 


CDA728 


00360 




CALL 


28A7H 




7E2C 


3E0D 


00370 




LD 


A,0DH 




7E2E 


CD3A03 


00380 




CALL 


033AH 




7E31 


2AA740 


00390 




LD 


HL, (40A7H) 


7E34 


0606 


00400 




LD 


B,6 




7E36 


CDD905 


00410 




CALL 


05D9H 


INPUT NAME 


7E39 


117D7F 


00420 




LD 


DE.NAME 




7E3C 


7E 


00440 


NAME1 


LD 


A, (HL) 




7E3D 


12 


00450 




LD 


(DE) ,A 




7E3E 


23 


00460 




INC 


HL 




7E3F 


13 


00470 




INC 


DE 




7E40 


10FA 


004B0 




DJNZ 


NAM El 




7E42 


3E0D 


00490 




LD 


A,0DH 




7E44 


CD3A03 


00500 




CALL 


033AH 




7E47 


21967F 


00510 




LD 


HL.MSG2 


DISPLAY PREPARE RECORDER 


7E4A 


CDA7 28 


00520 




CALL 


28A7H 




7E4D 


010000 


00522 




LD 


BC0000 




7E50 


CD6000 


00524 




CALL 


0060H 




7E53 


B7 


00530 




OR 


A 




7E54 


3A4038 


00540 


READY 


LD 


A, (3840H 


,-CHECK KEYBOARD FOR <ENTER> 


7ES7 


FE01 


00550 




C? 


01H 




7E59 


2807 


00560 




JR 


Z.REC 




7E5B 


FE04 


00570 




CP 


04 


CHECK KEYBOARD FOR <BREAK> 


7E5D 


CA191A 


00580 




JP 


Z,1A19H 


RETURN TO BASIC 


7E60 


18F2 


00590 




JR 


READY 




7E62 


P3 


00600 


REC 


DI 






7E63 


3E2A 


00610 




LD 


A, 2 AH 




7E6 5 


323E3C 


00620 




LD 


(3C3EH) ,A ;STAR 


7E68 


3E00 


00630 




LD 


A,0 




7E6A 


CD1202 


00650 




CALL 


0212H 


INITIALIZE RECORDER 11 


7E6D 


CD8702 


00660 




CALL 


02B7H 


WRITE LEADER i SYNC BYTE 


7E70 


3E55 


00670 




LD 


A.55H 


SYSTEM TAPE ID 


7E72 


CD6402 


00680 




CALL 


0264H 


WRITE BYTE 


7E75 


117D7F 


006 90 




LD 


DE.NAME 




7E78 


0606 


00700 




LD 


B,6 




7E7A 


1A 


00710 


WRTNAM 


LD 


A,(DE) 




7E7B 


CD6402 


00720 




CALL 


026 4H 




7E7E 


13 


00730 




INC 


DE 




7E7F 


10F9 


00740 




DJNZ 


WRTNAM 


WRITE NAME 


7E81 


3E3C 


00800 




LD 


A,3CH , 


DISABLE TRACE 

Listing 2 continued 



134 • 80 Micro, December 1983 



Listing 2 


continued 












7E83 


CD6402 


00810 


CALL 


0264H 






7E86 


3E01 


00820 


LO 


A,l 






7E88 


CD64B2 


00830 


CALL 


0264H 






7E8B 


3E1B 


00840 


LD 


A,1BH 






7E8D 


CD6402 


00850 


CALL 


0264H 






7E90 


3E41 


00860 


LD 


A,41H 






7E92 


CD6402 


00870 


CALL 


0264H 






7E95 


3E00 


00880 


LO 


A,0 






7E97 


CD6402 


00890 


CALL 


0264H 






7E9A 


CD6402 


00900 


CALL 


0264H 


OUTPUT FALSE CHECKSUM 


7E9D 


213E3C 


00910 


LD 


HL,3C3EH 






7EA0 


DD21CC7F 


00930 


LD 


IX, STAR 






7EA4 


CD477F 


00940 


CALL 


SET 






7EA7 


010000 


00942 


LD 


BC,0000 ; 


DEFEAT TIMERS 


7EAA 


CD6000 


00944 


CALL 


0060H 






7EAD 


CD6000 


00946 


CALL 


0060H 






7 EBB 


210000 


00950 


LD 


HL,0000 ; 


LMOFPSET 


7EB3 


CD437F 


00970 


CALL 


BLOCK 






7EB6 


21A043 


00980 


LD 


HL.43A0H 




; TBUG 


7EB9 


CD437F 


00990 


CALL 


BLOCK 






7EBC 


21 807 F 


01000 


LD 


HL,7F80H 




;RSM2 k 2D, 16K 


7EBF 


CD437F 


01010 


CALL 


BLOCK 






7EC2 


2180BF 


01020 


LD 


HL.0BF80H 




;RSM2D 32K 


7EC5 


CD437F 


01030 


CALL 


BLOCK 






7EC8 


2180FF 


01040 


LD 


HL,0FF80h 




;RSM2D 48K 


7ECB 


CD437F 


01050 


CALL 


BLOCK 






7ECE 


210F40 


01052 


LD 


HL.400FH 




; DEBUG 


7 EDI 


CD437F 


01054 


CALL 


BLOCK 






7ED4 


210C40 


01056 


LD 


HL,400CH 




; DISABLE BREAK KEY 


7ED7 


DD217A7F 


01058 


LD 


IX, BREAK 






7EDB 


0603 


01060 


LD 


B,3 






7 EDO 


CD497P 


01062 


CALL 


PUNCH 






7EE0 


2AF940 


01064 


LD 


HL, (40F9H) 


; SIMPLE VARIABLES PTR 


7EE3 


ED5BA440 


01066 


LC 


DE,(40A4H) 


; START OF BASIC PGM PTR 


7EE7 


B7 


01068 


OR 


A 






7EE8 


ED52 


01070 


SBC 


HL,DE 






7EEA 


2B 


01072 


DEC 


HL 






7EEB 


e:b 


01074 


EX 


DE,HL 






7 EEC 


E5 


01076 


PUSH 


HL 






7EED 


DDE1 


01078 


POP 


IX 






7EEF 


7A 


01080 


LD 


A,D 






7EFB 


FE00 


01082 


CP 









7EF2 


2808 


01084 


JR 


Z,WRT2 






7EF4 


0600 


01100 WRT1 


LD 


B,0 






7EF6 


CD497F 


01110 


CALL 


PUNCH 






7EF9 


15 


01120 


DEC 


D 






7 EPA 


20F8 


01130 


JR 


NZ.WRT1 






7EFC 


7B 


01140 WRT2 


LD 


A,E 






7EFD 


FE00 


01150 


CP 


• 






7EFF 


CA067F 


01160 


JP 


Z,WRT3 






7FB2 


43 


01170 


LD 


B,E 






7FB3 


CD4 97F 


01180 


CALL 


PUNCH 






7P06 


E5 


01190 WRT3 


PUSH 


HL i 


SAVE FOR TRANSFER 


7F87 


DD21727F 


01200 


LD 


IX, LIST 






7FflB 


0607 


01210 


LD 


B,7 






7F0D 


CD497F 


01220 


CALL 


PUNCH 






7F1B 


21E241 


01240 


LD 


HL,41E2H 




; SYSTEM/ AUTO-START RELAY 


7F13 


CD477F 


01250 


CALL 


SET 






7F16 


0602 


01290 


LD 


B,2 






7F18 


21P940 


01300 


LD 


HL,40P9H 




; SIMPLE VARIABLES PTR 


7F1B 


E5 


01310 


PUSH 


HL 






7F1C 


DDE1 


01312 


POP 


IX 






7F1E 


CD497F 


01320 


CALL 


PUNCH 






7F21 


21A440 


01330 


LD 


HL,40A4H 




; START OF BASIC PTR 


7F24 


ES 


01340 


PUSH 


HL 






7F25 


DDE1 


01342 


POP 


IX 






7F27 


0602 


01350 


LD 


B,2 






7F29 


CD497F 


01360 


CALL 


PUNCH 






7F2C 


Dl 


01370 


POP 


DE 


RECOVER RUN BLOCK 


7F2D 


3E78 


01380 


LD 


A,78H 


TRANSPER BLOCK 


7F2F 


CD6402 


01390 


CALL 


0264H 






7F32 


7B 


01400 


LD 


A,E 


RUN ROUTINE 


7F33 


CD6402 


01410 


CALL 


0264H 






7F36 


7A 


01420 


LD 


A,D 






7F37 


CD6402 


01430 


CALL 


026 4H 






7F3A 


CDF801 


01440 


CALL 


01F8H 


TURN 


OFF RECORDER 


7F3D 


CDC901 


01480 


CALL 


01C9H 


CLEAR 


SCREEN- 


7F4B 


C3191A 


01490 


JP 


1A19H 


RETURN TO BASIC 


7F43 


DD21717F 


01500 BLOCK 


LD 


IX, RESET 






7F47 


0601 


01510 SET 


LD 


B,l 






7F49 


3E3C 


01520 PUNCH 


LD 


A,3CH 


BLOCK 


SYNC 


7F4B 


CD6402 


01530 


CALL 


0264H 


WRITE 


BYTE 


7F4E 


78 


01540 


LD 


A,B 


BYTE 


COUNT 


7F4F 


CD6 40 2 


01550 


CALL 


0264H 






7F52 


7D 


01560 


LD 


A,L 


LSB ADDRESS 


7F53 


CD6402 


01570 


CALL 


0264H 






7F56 


4P 


01580 


LD 


C,A 


SAVE 


FOR CHECKSUM 


7P57 


7C 


01590 


LD 


A,H 


MSB ADDRESS 


7F58 


CD640 2 


01600 


CALL 


0264H 






7F5B 


81 


01610 


ADD 


A,C 






7F5C 


4P 


01620 


LD 


C,A 






7F5D 


DD7E00 


01630 PUN1 


LD 


A, (IX) 






7F6B 


CD6482 


01640 


CALL 


026 4H 






7F63 


23 


01650 


INC 


HL 






7F64 


DD23 


01660 


INC 


IX 






7F66 


81 


01670 


ADD 


A,C 






7F67 


4F 


01680 


LD 


C,A 






7F68 


10F3 


01690 


DJNZ 


PUN1 






7F6A 


CD6402 


01700 


CALL 


0264H 


OUTPUT CHECKSUM 


7F6D 


CD2C02 


01710 


CALL 


22CH 


BLINK 


STAR 


7F7B 


C9 


01720 


RET 








7F71 


76 


01722 RESET 


DEFB 


76H 


HALT 


CODE 


7P72 


21 


01730 LIST 


DEFB 


21H 






7P73 


IE 


01740 


DEFB 


1EH 






7P74 


ID 


01750 


DEFB 


1DH 






7P75 


ES 


01760 


DEFB 


0E5H 






7F76 


C3 


01770 


DEFB 


0C3H 




Listing 2 continued 



f 



ANALYTICAL ^tw 
PROCESSEsJMj 

raj ^CORPORATION 




BUSINESS 
SOFTWARE 

for 

IBM-PC, OSBORNE, XEROX 

NORTHSTAR, RADIO SHACK 

EPSON QX-1 0, CPM & MS-DOS 

All Prices Include Full Support 
and Source Code 



* TAX/PACK 9 

TAX/PACK for practitioners is 
complete, coordinated, and in- 
cludes most-used forms and 
schedules Prints all schedules, 
no masks, no data field entered 
more than once. All data passed 
automatically between sched- 
ules and 1 040. Fully supported 
all year. Partial or full system. 
Can be used for single or multi- 
ple returns Extremely flexible. 
Computing taxes for over five 
years 

$995.00 



MORE! 

TRIED & TRUE APPUCATIONS 

■ MAIL LIST MANAGER 

■ MEMBERSHIP LIST MANAGER 

■ UTILITY BILLING 

■ REAL ESTATE APPRAISAL 

■ PETROLEUM DISTRIBUTORS 

■ RETAIL INVENTORY* BILLING 



Send Check. M.O.. or VISA/MC Number 
and Expiration Date TODAY to: 

ANALYTICAL PROCESSES CORP 

635 Main Street - P.O. Box 1313 

Montrose, Colorado 81402 

• 406 




For More 

Information 

Call: 

(303) 249-1400 



I 



We Are Unique . . . Try Us . . . Find Out 



• SeeUstof Advertisers on Page 291 



80 Micro, December 1983 • 135 




THIS MAY BE 
THE SAVINGS ON 

SOFTWARE 

WHEN YOU'RE 
A MEMBER OF 

SOFTWARE 

OF THE 

MONTH CLUB 



As a member of the Software of 
the Month Club, you'll receive: 

■ SAVINGS: high volume CLUB 
purchases allow wholesale-like 
prices to members. 
Example: dBASE II ... . $389* 

■ SELECTIONS: members to 
decide best-seller list by 
frequent polling: 40-50% off. 
Other requests at cost plus 5-10%. 

■ SUPPORT: technical hot-line. 

■ NEWSLETTERS: tips & 
"how-to" by consultants. 

■ HARDWARE SPECIALS: co-op 
savings. 

■ No minimum purchase required. 

Membership registration fee $25. 

Join now for only $7 (limited time) 

and receive price list. 



BOM 11-83 

SOFTWARE OF THE 
MONTH CLUB, INC. 

953 Mission St.. Mint Mall 
San Francisco. CA 94103 

Enclosed is $7 for this special. 
Please enroll me in the club. 

Name 




•oTmT^ 



.-29 



Address- 
City 



State/ Zip_ 



'Plus shipping/handling. Subject to change without notice. 

136 • 80 Micro, December 1983 



Listing 2 continued 












7P77 


5D 






01780 






DEFB 


5DH 


7P78 


IB 






01790 






DEPB 


IBB 


7P79 


E9 






01B0B 






DEFB 


0E9H 


7P7A 


C3 






01810 


BREAK 


DEPB 


0C3H 


7P7B 


98 






01820 






DEPB 


98B 


7P7C 


• A 






01830 






DEFB 


MB 


7F7D 


28 






01840 


NAME 


DEFB 


20H 


7F7E 


28 






01842 






DEPB 


20H 


7F7P 


28 






01844 






DEFB 


20H 


7F80 


20 






01846 






DEPB 


20H 


7P81 


28 






01848 






DEPB 


20H 


7F82 


28 






01849 






DEFB 


20H 


7P83 


45 






01850 


MSG1 


DEPM 


'ENTER PROGRAM NAME' 




4E 


54 


45 


52 20 


50 


52 


4F 






47 
45 
80 


52 


41 


4D 20 


4E 


41 


40 




7F95 






01860 






DEPB 





7F96 


28 






01S70 


MSG2 


DEPM 


' PREPARE RECORDER AND PRESS RECORD & PL 


AY <ENTER> 












" 




28 


20 


20 


20 50 


52 


45 


50 






41 


52 


45 


20 52 


45 


43 


4F 






52 


44 


45 


52 20 


41 


4E 


44 






28 


50 


52 


45 53 


53 


20 


52 






45 


43 


4F 


52 44 


20 


26 


20 






50 


4C 


41 


59 20 


3C 


45 


4E 






54 


45 


52 


3E 










7PCB 


80 






01880 






DEPB 





7PCC 


2A 






01890 


STAR 


DEFB 


2AH 


SCH 








01910 






ORG 


3C00H ; WRITE INSTRUCTIONS 


3C00 


28 






01920 


, 




DEFM 


• PROTEC 




20 


20 


20 


20 20 


20 


20 


20 






20 


28 


20 


20 20 


20 


20 


20 






20 


20 


20 


20 20 


20 


20 


20 






20 


20 


20 


20 50 


52 


4F 


54 






45 


43 


20 


20 20 


20 


20 


20 






20 


20 


20 


20 20 


20 


20 


20 






20 


20 


20 


20 20 


20 


20 


20 






20 


20 


20 


20 20 


20 








3C3F 


20 






01930 






DEPP. 


1 WHEN YOU ARE READY TO ENCODE YOUR BASI 


C PROGRAM « 


TYPE NAME" 










20 


20 


20 


20 57 


48 


45 


4E 






20 


59 


4F 


55 20 


41 


52 


45 






20 


52 


45 


41 44 


59 


20 


54 






4F 


20 


45 


4E 43 


4F 


44 


45 






20 


59 


4F 


55 52 


20 


42 


41 






53 


49 


43 


20 50 


52 


4F 


47 






52 


41 


4D 


2C 20 


54 


59 


50 






45 


20 


4E 


41 4D 


45 








3C7E 


20 






01940 






DEPM 


1 < ENTER). YOU WILL BE PROMPTED TO ENTER U 


P TO 


SIX CHARACTERS 


' 










20 


3C 


45 


4E 54 


45 


52 


3E 






2E 


28 


20 


59 4F 


55 


20 


57 






49 


4C 


4C 


20 42 


45 


20 


50 






52 


4F 


4D 


50 54 


45 


44 


20 






54 


4F 


20 


45 4E 


54 


45 


52 






20 


55 


50 


20 54 


4F 


20 


53 






49 


58 


20 


43 48 


41 


52 


41 






43 


54 


45 


52 53 


20 








3CBD 


20 






01950 






DEFM 


' UNDER WHICH YOUR ENCODED PROGRAM WILL OP 


ERATE AS A 


SYSTEM TA' 










20 


20 


55 


4E 44 


45 


52 


20 






57 


48 


49 


43 48 


20 


59 


4F 






55 


52 


20 


45 4E 


43 


4F 


44 






45 


44 


20 


50 52 


4F 


47 


52 






41 


4D 


20 


57 49 


4C 


4C 


20 






4F 


50 


45 


52 41 


54 


45 


20 






41 


53 


20 


41 20 


53 


59 


53 






54 


45 


4D 


20 54 


41 








3CFC 


50 






01960 






DEFM 


'PE < ENTER >. YOU WILL THEN BE PROMPTED TO 


PREPARE 


THE RECORDER' 










45 


20 


20 


3C 45 


4E 


54 


45 






52 


3E 


2E 


20 20 


59 


4F 


55 






28 


57 


49 


4C 4C 


20 


54 


48 






45 


4E 


20 


42 45 


20 


50 


52 






4F 


4D 


50 


54 45 


44 


20 


54 






4F 


20 


58 


52 45 


50 


41 


52 






45 


20 


54 


48 45 


20 


52 


45 






43 


4F 


52 


44 45 


52 








3D3B 


2C 






0197 






DEPM 


', PRESSING RECORD AND PLAY < ENTER >. YOUR 


BASIC PROGRAM WILL 












20 


20 


20 


20 50 


52 


45 


53 






53 


49 


4E 


47 20 


52 


45 


43 






4F 


52 


44 


20 41 


4E 


44 


20 






50 


4C 


41 


59 20 


3C 


45 


4E 






54 


45 


52 


3E 2E 


20 


59 


4F 






55 


52 


20 


42 41 


53 


49 


43 






20 


50 


52 


4F 47 


52 


41 


4D 






20 


57 


49 


4C 4C 










3D79 


20 






01980 






DCPM 


1 BE ENCODED AS A SYSTEM TAPE. TO RUN YOU 


R TAPE, 


TYPE 


SYSTEM 












42 


45 


28 


20 20 


20 


45 


4E 






43 


4F 


44 


45 44 


20 


41 


53 






20 


41 


20 


53 59 


53 


54 


45 






4D 


20 


54 


41 50 


45 


2E 


20 






54 


4F 


28 


52 55 


4E 


20 


59 






4F 


55 


52 


20 54 


41 


50 


45 






2C 


20 


54 


59 50 


45 


20 


53 






59 


53 


54 


45 4D 










3DB7 


20 






01990 






DEFM 


* <ENTER>. AT THE PROMPT *? ENTER THE NAN 


E UNDER 


WHICH 


THE' 












3C 


45 


4E 


54 45 


52 


3E 


2E 






20 


20 


28 


20 41 


54 


20 


54 






48 


45 


20 


50 52 


4F 


4D 


50 






54 


20 


2A 


3P 20 


45 


4E 


54 






45 


52 


20 


54 48 


45 


20 


4E 


Listing 2 continued 



Listing 2 continued 



41 


4D 


45 20 55 


4E 


44 


45 


52 


20 


57 48 49 


43 


48 


20 


54 


48 


45 








3DP3 20 




02000 






D 


PROGRAM 


WILL LOAD' 








20 


50 


52 4F 47 


52 


41 


4D 


20 


57 


41 53 45 


4E 


43 


4F 


44 


45 


44 20 3C 


45 


4E 


54 


45 


52 


3E 2E 20 


20 


59 


4F 


55 


52 


20 45 4E 


43 


4F 


44 


45 


44 


20 50 52 


4F 


47 


52 


41 


4D 


20 57 49 


4C 


4C 


20 


4C 


4F 


41 44 








3E30 20 




02010 






C 


RS WILL 


BE 


UNABLE TO' 






41 


4E 


44 20 41 


55 


54 


4F 


4D 


41 


54 49 43 


2D 


20 


41 


4C 


4C 


59 20 42 


45 


47 


49 


4E 


20 


54 4F 20 


4F 


50 


45 


52 


41 


54 45 2E 


20 


20 


55 


53 


45 


52 53 20 


57 


49 


4C 


4C 


20 


42 45 20 


55 


4E 


41 


42 


4C 


45 20 54 


4F 






3E6F 20 




02020 






c 


R MONITORS 


SUCH AS 1 








20 


4C 


49 53 54 


2C 


20 


4C 


4C 


49 


53 54 20 


4F 


52 


20 


55 


53 


45 20 54 


48 


45 


20 


42 


52 


45 41 4B 


20 


4B 


45 


59 


2E 


20 20 50 


4F 


50 


55 


4C 


41 


52 20 4D 


4F 


4E 


49 


54 


4F 


52 53 20 


53 


55 


43 


48 


20 


41 53 








3EAC 20 




02030 






r 


LL BE DISABLED, AS W 






54 


48 


45 20 52 


53 


4D 


32 


20 


53 


45 52 49 


45 


53 


2C 


20 


20 


20 53 59 


53 


54 


45 


4D 


20 


43 4F 50 


59 


20 


41 


4E 


44 


20 54 42 


55 


47 


20 


57 


49 


4C 4C 20 


42 


45 


20 


44 


49 


53 41 42 


4C 


45 


44 


2C 


20 


41 53 20 


57 






3EEB 49 




02040 








CLOAD 


YOUR BASIC PR 1 






4C 


4C 


20 54 48 


45 


20 


54 


52 


41 


43 45 20 


20 


20 


20 


20 


20 


20 20 46 


55 


4E 


43 


54 


49 


4F 4E 2E 


20 


20 


59 


4F 


55 


20 4D 41 


59 


20 


4E 


4F 


57 


20 43 4C 


4F 


41 


44 


20 


59 


4F 55 52 


20 


42 


41 


53 


49 


43 20 50 


52 






3F2A 4F 




02050 









PROGRAM WASENCODED <ENTER>. YOUR ENCODED 



AND AUTOMATIC- ALLY BEGIN TO OPERATE. USE 



LIST, LLIST OR USE THE BREAK KEY. POPULA 



THE RSM2 SERIES, SYSTEM COPY AND TBUG WI 



'ILL THE TRACE FUNCTION. YOU MAY NOW 



'OGRAM IF IT HAS NOT ALREADY BEEN LOADED. 



47 52 41 4D 20 49 46 20 
49 54 20 48 41 53 20 4E 
4F 54 20 20 20 41 4C 52 
45 41 44 59 20 42 45 45 
4E 20 4C 4F 41 44 45 44 
2E 20 20 20 20 20 20 20 
20 20 20 20 20 20 20 20 
20 



4020 

4020 803F 
1A19 



02060 
02070 
02080 



ORG 

DEFW 

END 



4020H 
3F80H 

1A19H 



; BASIC RE-ENTRY 



00000 TOTAL ERRORS 



Prolessional 

REAL ESTATE SOFTWARE 

for IBM APP1E TRS-80 and CPM Computers 

• PROPERTY MANAGEMENT SYSTEM $525 

Tenanl Inlormation Owners Report 

Late Rent Reporl Operating Statement 

Vacancy Report Prints Checks 

EnpireO Leases Rent Receipts 

Rent Statements Consolidated Reports 

Graphics EASY 10 USE 

• PROPERTY LISTINGS COMPAHABLES: $425 



OPTION 
INVESTING 



SCREEN BY --»- 

22 Items /Listing 
Property Comparisons 
Homes or Income 



Mai/Mm Price 
City Wemos/ Codes 
Mai Pnce/income 
Mai Pnce/Sq Foot 
Mm Cashflow 



REAL ESTATE ANALYSIS MODULES $50 Modul* 



Loan Sales 'Purchase 
Home Purchase 
Income Prop Analysis 
Property Sales 
Depreciation/ACRS 



loan Wrap Return 
ta» Deterred Exchange 
APR Loan Analysis 
Loan Amortisation 
Construction Cost/Prolit 



WORD PROCESSOR WORDSTAR $295 



Suite #229 1926 S PaciliC Coast Hwy Reoonoo Beach CA 90277 



OPTIONS-BOA 
0PTI0NS-80 


• 170 | 

• 125 


FULLY DOCUMNTD) P 
RMOV TO »4SLP YOU 
YOUR WTUPN ON INV 
CALLS, HITS, aP*E* 
MtlTIMi INCL COMM 
TWMHN BLACK- 
POR IM 00 HOOBL9 




maximize 

esthemt. ! 

M. CCV 

It RISK. 
OCHOLO. 
1,111.4. 

— — •206 J 

HURE. 
Y. I7l.tr 


FREE BROO 
nPTTnuR-nn. an 



CONCORD, MASS 01742 



REMSOFT, INC. 

Let Your TRS-80® 

Teach You 

ASSEMBLY LANGUAGE 

Tired of buying book after book on assembly 
language programming and still not knowing 
your POP from your PUSH? 

REMSOFT proudly announces a more 
efficient way, using your own TRS-80® to 
learn the fundamentals of assembly language 
programming . . at YOUR pace and YOUR 
convenience. 

Our unique package, "INTRODUCTION TO 
TRS-80® ASSEMBLY PROGRAMMING, will 
provide you with the following: 

• Ten 40 minute lessons on audio 
cassettes 

• A driver program to make your TRS-80® 
video monitor serve as a blackboard for 
the instructor. 

• A display program for each lesson to 
provide illustration and reinforcement for 
what you are hearing. 

• Step-by-step dissection of complete and 
useful routines to test memory and to 
gain direct control over the keyboard, 
video monitor, and printer. 

• How to access and use powerful routines 
in your Level II or Model III Basic ROM 

AVAILABLE FOR MODEL 1 & 3 
REMASSEM (up.) $74.95 

REMASSEM (di.o $79.95 

LEARN TRS-80® 

ASSEMBLY LANGUAGE 

DISK I/O 

Your disk system and you can really step 
out with REMSOFT'S Educational Module. 
REMDISK-1, a "short course" revealing the 
details of DISK I/O PROGRAMMING using 
assembly language. Intended for the student 
with experience and assembly language. 
COURSE INCLUDES: 

• Two 45-minute lessons on audio cassette 

• A driver program to make your TRS-80® 
video monitor serve as a blackboard for 
the instructor. 

• A display program for each lesson to 
provide illustration and reinforcement for 
what you are hearing. 

• A booklet of comprehensive, fully 
commented program listings illustrating 
sequential file I/O random-access file 
I/O and track and sector I/O. 

• A diskette with machine readable source 
codes for all programs discussed in both 
Radio Shack EDTASM and Macro 
formats. 

• Routines to convert from one assembler 
format to the other. 

Presently available for Modal 1 only 
REMDISK-1 only $29.95 

Dealer inquiries invited 

These courses were developed and recorded by Joseph t 
Willis and are based on the successful series of courses he 
has taught at Meta Technologies Corporation, the Radio 
Shack computer Center, and other locations in Northern Ohio. 



<# 



REMSOFT, INC. 

571 E. 185 St. 

Euclid, Ohio 44119 

(216)531-1338 




SHIPPING CHARGES: 

$2.50 WITHIN UNITED STATES 

$5.00 CANADA AND MEXICO 

OTHER FOREIGN ORDERS ADD 20% 

OHIO RESIOENTS ADD 6V,% SALES TAX 

TRS-80* IS A TRADEMARK OF TANDY CORP 



* See List of Advertisers on Page 291 



80 Micro, December 1983 • 137 




a&ag^affi&g^ 




-°1S3« 



fSfl 



SOFTWARE 



4 

v 



t 










DOS PLUS 3.5 MODEL 1/1 1 1 

Better than standard Dos Plus. Added enhancements to make this 
the best system that will put you in total control. 

OUR 
Retails at $149.95 PRICE 

DOS PLUS 4 MODEL 4 

All the features of Dos Plus 3.5 and more. 80-column capability 
with full Microsoft BASIC. 1 00% faster than TRSDOS 6.0. 

OUR 
Retails at $149.00 PRICE 

CPM 2.2 FOR THE MODEL 4 

From Montezuma Micro comes a fully implemented version of 
Digital Research's CPM 2.2. Now you can run all CPM-compatible 
programs on your Model 4 computer. 

OUR 
Retails at $199.00 PRICE 

NEWSCRIPT 

A complete word processing system based on the editing and 
text-formatting programs developed by IBM for use on mainframe 
time-sharing systems. 

OUR cft - nn 
Retails at $110.00 PRICE $ 00 00 

SOS DISK TIMER 

Speed-O-Scope drive speed test program used to check drive 
R.P.M. and to adjust TRS-80 Model III Disk Drives. Allows assur- 
ance and adjustment of your disk drives to proper operating speed. 

OUR . . _ ftn 
Retails at $19.95 PRICE $ 1 5 00 

BASIC EDITOR 

If you do a lot of editing of your BASIC programs, then this is the 
editor for you!!! -*..«- 

OUR MMam 

Retails at $29. 95 PRICE $ 24 95 

'Manufacturers have asked us not to publish these low prices. 
Please call our toll free number for prices and also get on our 
free mailing list. 



B.T. Enterprises Dept. 1-L 
10CarloughRd. 
Bohemia, N.Y. 11716 



for your TRS 80 

MODEL I, III and 4 



MAS 80 

The micro accounting system. Flexible, versatile, user-formatted 
business system designed for the novice and professional. AR/ 
AP/GL/CK REG. 

Retails at $599.00 PRICE $ 499 00 
M-ZAL 

Release #3 — more features than ever before. The most powerful 
editor assembler ever written. Full-screen editing, linking loader, 
full macro support and much more. 



Retails at $99.95 



OUR 
PRICE 



$ 



75 



00 



ACCOUNTING PARTNER 

Everything you need to make the system go — simply, efficiently, 
and conveniently. Easy to use, menu-driven programs, all per- 
forming integration calculations. Uses extensive error checking 
and leaves a complete audit trail. GL/AR/AP/PAYROLL 
Requires CP/M 2 2 

OUR 
Retails at $399.95 PRICE $ 299 00 
OFFER EXPIRES JANUARY 15th, 1984 



Request your FREE Pascal80 
Trial Version with the purchase 
of any of these SPECIALS! 



J^SCAL 80 

TRIAL VERSION 

*■** Support in , h , ^ y^ 
Viriibi. ttpm real. isTFC.ru ft... 

c*™^ . RUE : FA ^- MAxn£P, „d UiC , Mma 

WHILE DO bp-pVIt . ? ' f0R NE "T, 



Available for $10 with no additional purchase. 



(516) 567-8155 (voice) 
(516) 588-5836 (modem) 

T Enterprises is o division of Di Tech Enterpnses Inc 






HARDWARE 



for your TRS 80 

MODEL I, III and 4 




VID80 

A sophisticated hardware addition to yourTRS-80 Model III. Adds 
80-column x 24-line video display and full 64KCPM support (CPM 
available separately). Easy to install. Full instructions. 

Retails at $279.95 PRICE $ 229 00 

With Accounting Partner 

and CPM 2.2 " OUR $ccnoo 

Retails at $798.00 PRICE $ 650 uu 
SPRINTER 

Shift your TRS-80 into high gear with the Holmes Sprinter Clock 
Speed Up. Model III or 4. 

"Includes sample routine on TDOS 



Retails at $99.50 



OUR 
PRICE 



$ 



79 



50 



64K MEMORY DISK UPGRADE KIT 
FOR THE MODEL 4 

Easy to install with illustrated instruction manual. Upgrade from 
1 6K to 64K of memory. 

Retails at $149.00 PRICE $ 80 00 



Upgrade from 64K to 

128K with PAL. OUR 

Retails at $149.00 PRICE 



J 99 



50 



UPGRADE KIT WITH CLOCK 

Complete kit with battery backup Real Time Clock. 40/80-track, 
single/double-sided, single/double-density, 5-8" inch drives — all 
supported. Compatible with Models III and 4. Complete kit without 
drives. Drives available at discount prices CALL 

Retails at $357.45 PRICE $ 299 00 
MICROFAZER 



A printer buffer that lets printing take place while the computer is 
being used. 

64K $OOL 

Parallel 




128K 
Parallel 



229 ! 
*309 95 



Dealers please call (516) 567-2444 



Dealer Inquires Welcome 
Pnces subject to chonge 
N.Y S Residents odd tax 



BAR CODE READERS 

Hand-held scanners designed to read all common bar code 
formats. Available for the Epson HX-20, the Radio Shack Model 
100, and the NEC Portable. 

-,,,„ | 'CALL 

OUR FOR OUR 

Retails at $279.00 PRICE (J£wprice 
PRINTER STANDS 

This lightweight plexiglass stand allows you to eliminate the mess 
on your computer desk by allowing the paper to be fed from under 
the printer, making room for used paper to stack behind it. 

Regular $26.95 

Regular w/shelf 40.45 

Large 31.45 

Large w/shelf 44.95 

Large w/slot 44.95 

Extra large 71 .95 

EPSON RIBBON CARTRIDGES 

Same as original Epson eguipment but much lower cost. Available 
in Black, Red, Blue, Green, and Brown. Fits MX-70, MX-80, FX-80, 
and RX-80 Printers. 

0UR Sil75 

Retails at $11.95 PRICE $ 4 75 
3M DISKETTES 

Durability and low abrasivity. Error-free service. Available in boxes 
of 10 units. Limited time Free Calculator offer included. 

(500452) SS/DD 5Va" $23.50/10 

(500455) DS/DD 5V4" 32.50/10 

(500457) DS/DD 5V4" 80 Track 43.00/10 

(500461) SS/SD 8" 24.50/10 

(500462) SS/DD 8" 30.50/10 

(500465) DD/DD 8" 35.50/10 

POWER STRIPS 

For best protection against powerline interference. They insure 
reliable 'side-by-side performance' of electronic computing control 
and communications eguipment. 
STANDARD POWER STRIP OUR 
(with transient protection) noir*c $OO50 

Retails at $29.70 PHIOt fcfc 

VOLTECTOR SERIES 9 CONDITIONED POWER STRIP 
(with heavy duty transient OUR 

voltage surge suppression) nnirc . $7^95 

Retai Is at $99.35 r n I U t f *t 

VOLTECTOR SERIES 10 CONDITIONED POWER STRIP 
(with heavy duty transient voltage surge 
supression plus RFI/EMI filtering and patent- 
ed RF-isolated receptacles) OUR 

Retails at $152.90 PRICE $ 1 1 4 95 



Orders Only 
800-645-1165 
N.Y. call (516) 567-8155 „3oo 



Amencon Express Cone Blanche 
Diners Club MosierCord o Visa 



1 






*S 



§3 



GENERAL 



LOAD 80 



Channels of Communication 



by Dan Keen and Dave Dischert 



H 



ome satellite receiving dishes can bring you 
more than 140 cable stations free. This article 
explains dish technology and positioning. 



You're sitting at home on a Friday 
night, looking for something entertain- 
ing to watch on television. But all that's 
on are reruns of The Dukes of Hazzard, 
a show on how to train your dog, and 
the Miss Teen U.S.A. pageant. 

You do have an alternative — more 
than 140 TV and movie stations, each 
of which comes into your home free. 
All you need is a satellite receiver and a 



Model I or III. 

In this article we discuss how satellite 
receivers work, how to get one, the costs 
and time involved, and how to use your 
Model I or III to position your receiving 
dish to pull in signals from different sat- 
ellites. 

Satellite Receiver Boom 

Home satellite receivers are gaining in 



UPLINK 



DOWNLINK 












TV 


o 
o 









RECEIVER 



AMP 



popularity. Currently, more than 
100,000 U.S. homes have receivers. As 
more dishes are set up and newer, less 
expensive technology becomes avail- 
able, dish receivers will drop in price 
and come within reach of almost every- 
one. As it is, satellite receiver systems 
are significantly less expensive today 
than they were five years ago. You can 
get a complete system now for as little as 
$2,500. 

The Technology 

Cable program signals travel around 
the United States via satellite (see Fig. 
1). The transmitting station that gener- 
ates the microwave signal beams it up to 
an orbiting satellite. 

The satellite receives the signal, cleans 
it up, and rebroadcasts it to receiving 
stations scattered across the United 
States. These receiving stations then 
send the signal, via ground-based ca- 
bles, to homes. 

Home receiving dishes work just like 
their commercial counterparts. They, 
too, pick up signals from satellites, but 
instead of sending them out over com- 
mercial cables, they shunt the signal to 
your home television set. 

Communications satellites orbit di- 
rectly over the equator in a geostation- 
ary orbit at an altitude of 22,300 miles. 
Satellites occur in the North American 
continent in an equatorial arc of from 
roughly 83 to 135 degrees longitude, 
with a spread of about four degrees. 



Figure 1. The bask components of a satellite TV system. 
140 • 80 Micro, December 1983 



The Key Box 

Model I and m 

16K RAM Cassette Bask 

32K RAM Disk Basic 



Television Stations 

Typically, satellites have either 12 or 
24 channels, called transponders. Sev- 
eral communications satellites carry a 
full load (24 channels) devoted to tele- 
vision programming. 

Some programs are free religious or 
commercial stations, such as Satellite 
News Channel and Music Television. 
Other channels may be illegal to receive, 
such as Home Box Office and Show- 
time, but comprehensive laws govern- 
ing this medium are still being debated. 

Satcom F3R, the most widely accessed 
satellite, is one of the few that dedicates 
all 24 transponders to television pro- 
gramming. It carries Nickelodeon, The 
Movie Channel, ESPN (entertainment 
sports), MTV (Music Television), Cable 
News Network, the Christian Broadcast 
Network, and superstations WGN and 
WTBS. The Program Listing contains 
all the stations available through Sat- 
com F3R. 

U.S. companies launch more satel- 
lites each year, providing a larger se- 
lection of programming services from 
which to choose. 

Getting the Signal 

Communications satellites send out 
polarized microwave beams in either a 
horizontal or vertical format. For ex- 
ample, RCA's Satcom F3R satellite has 
horizontal polarization on even tran- 
sponders and vertical polarization on 
odd transponders. The Westar 3 satel- 




Figure 2. The feed assembly, consisting of the fa) antenna, (b) low-noise amptifier, and (c) downconverter. 



lite polarizes all its signals horizontally. 

Even though all communications sat- 
ellites (about 12 currently in operation) 
broadcast on the same frequencies, 
there is no interference between them 
because the receiving antennas are 
highly directional. 

To pick up these signals, you need to 
rotate your dish antenna. You can 
equip your antenna with a remote con- 
trol motor to rotate the dish from inside 
your house. Other satellite systems pro- 
vide electronic switches that correctly 
position the antenna. 

Earth transmitters send TV signals to 
satellites at 1,000 watts. This is called the 



t\ 




Photo. One of the authors' microwave antennas. 



uplink of the transmission. The satellite 
receives the signal, usually at around 6 
gigahertz in frequency, cleans it up, and 
retransmits it back over the United States 
(see the schematic in Fig. 1). 

The return signal arrives at between 
3.7 and 4.2 gigahertz and at a power of 
5 watts. Because the signal is so weak, 
you need a large receiving dish to gather 
and concentrate the signal (see the 
Photo). For most of North America, a 
10-foot dish is the minimum required 
for a good picture. The dish gathers and 
concentrates the signal, and bounces it 
back into the feed assembly, a combina- 
tion receiver/amplifier suspended op- 
posite the center of the dish (see Fig. 2). 
The feed assembly directs signals into 
the receiving amplifier, called a low- 
noise amplifier, or LNA. 

The LNA amplifies the signal and 
sends it to the downconverter, also part 
of the feed assembly. The downconvert- 
er changes the high-frequency micro- 
wave signal to a lower, more manage- 
able signal of about 70 MHz. It then 
sends the signal along a standard TV 
cable wire (Radio Shack part number 
RG-59U) into your home. 

Finally, the signal travels indoors to 
the receiver, letting you select a channel 
from 1 to 24. You receive the signal 
through a radio frequency signal (usual- 
ly on channels 2, 3, or 4) connected to 
the antenna input of any television. Di- 
rect video/audio outputs are included 
for connection to a video tape recorder 
or a large-screen projection TV. 

Broadcast Scrambling 

Potential satellite owners need not 
worry about spending money for a receiv- 
ing system that only picks up scrambled 
signals. As of this writing, scrambling 

80 Micro, December 1983 • 141 



Program Listing. Satellite guide and site survey program. 

10 CLS:PRINT§512, "ENTER YOUR CHOICE <S>ITE SURVEY <P>ROGRAM GUIDE 

";:GOSUB640:IFIK$="S"THENGOTO1000ELSEIFIK$<>"P"THENGOTO10 

20 CLEAR1000:DIN A$(24) ,S{75) :GOSUB580 

30 DATA Nickelodeon/Arts, PTL,WGN, Spotlight, The Movie Channel, WTBS, 

E. S.P.N. Entertainment k Sports Programming Net, A. E.T.N. /Christian 

Broadcasting Network, USA Cable Network/C-Span, Showtime, MTV (Music 

Television) , Showtime 
40 DATAHorae Box Off ice, Cable News Network, Cable News Network Headl 
ine News 

50 DATA HTN Plus/ASCN/National Jewish Television, Cable Health Netw 
ork, Reuters Monitor Service/Eternal Word Television, C-Span,Cinemax 
,The Heather Channel, Modern Satellite Network/Daytime/HBO/USA Net. 
,Cinemax,HBO 

60 F0RZ=1T024:READA$(Z) :NEXT:CLS 

80 PRINTe87,CHR$(176) ;CHR$(176) ;STRING$(9,188) ;CHR$(176) ;CHR$(176) 
90 PRINTil48,CHR$(184) ;CHR$(190) ;STRING$(15,191) ;CHR$(189) ;CHR$(18 
0) ;CHR$(144) 

100 PRINTi210,CHR$(184) ;STRING$(21,191) ;CHR$(189) ;CHR$(144) 
110 PRINT@273,CHR$(186) ; STRINGS ( 24 , 191) ;CHR$(144) 
120 PRINT@337,STRING$(25,191) ;CHR$(149) 
130 PRINT@401,CHR$(138) ;STRING$(24,191) 

140 PRINT8466,CHR$(139) ;CHR$(175) ;STRING$(20,191) ;CHR$(143) ;CHR$(1 
29) 

150 PRINTe532,CHR$(131) ;CHR$(143) ;STRINGS(15,191) ;CHR$(143) ;CHR$(1 
35) ;CHR$(129) 

160 PRINTP599,CHRS(130) ;CHR$(131) ;CHR$(131) ;STRING$(7 ,143) ;CHR$(13 
1);CHR$(131) ;CHR$(129) 
170 PRINT#365, "Earth"; 
180 REM PLOT SATELLITES 

190 SET(0,24) :PRINT§513, "Satcom 3"; :SET(2, 28) :PRINT§578, "Comstar D 
4"? 

200 SET(5,33) :PRINT§707,"Westar 5" ; :SET(11,38) :PRINTG774, "Satcom 2 
"; 

210 SET(18,41) :PRINT§842,"Anik A3/A2"; :SET(28,44) :PRINTg976, "Anik 
Dl"j 

220 SET(47,46) :PRINTe911,"Anik B"; 
230 SET(64,46) :PRINTg993,"Westar 4"; :SET(78,43) :PRINT$937 , "Comstar 

D1/D2"; 

240 SET(87,40) :PRINT§878, "Westar 3"; :SET(0,21) :PRINTg449, "Satcom F 
1"; 

241 SET(0, 18) :PRINT§385, "Satcom F5" ; :SET(96 ,37) :PRINT§817 , "Comstar 
D3"; :REM F5 & D3 

242 SET( 101, 34) :PRINTS756, "Satcom F4"; :SET(105,31) :PRINTg694,"West 
ar 1/2";:REM F4 6 WEST 1/2 

250 S«1:REM STAR TWINKLING 

260 GOSUB550:X»0 

270 FORA=1TO75:B-RND(1024) :S«15359+B:C-PEEK(S) : IF032THENNEXTELSEP 

ORES, 46 : S (X) =S:X=X+1: NEXT 

280 TW-RND(X) :POKES(TW) ,32:FORDE-1TO20: IFINKEY$«""THENNEXT:POKES(T 

W) ,46:GOTO280 

290 REM SATELLITE DATA VIDEO PAGE 

300 CLS:GOSUB55ft 

310 PRINTG128, "SATELLITE" , "POSITION" , "COUNTRY" 

320 PRINT" 



330 PRINT"Satcom F3R","131 degrees" , "U.S.A." 

340 PRINT"Comstar Dl","127 degrees", "U.S. A." 

350 PRINT"Westar 5", "123 degrees", "U.S. A." 

360 PRINT'Satcom F2","119 degrees", "U.S.A. " 

370 PRINT'Anik 3", "114 degrees" , "Canada" 

380 PRINT" Anik B","109 degrees", "Canada" 

390 PRINT'Westar 4"," 99 degrees", "U.S.A. " 

400 PRINT'Comstar D2"," 95 degrees", "U.S. A. " 

410 PRINT'Westar 3"," 91 degrees", "U.S. A." 

420 PRINT'Comstar D3"," 87 degrees" , "U.S.A. " 

430 PRINT'Satcom F4"," 83 degrees" , "U.S.A." 

440 GOSUB610 

450 REM SATCOM DATA VIDEO PAGE 

460 CLS:GOSUB550 

470 PRINT: PRINT" Satcom F3R Programming Services For Transponders 

1 Through 12" 

480 X-194:F0RP-1T012:PRINT8X,P,A$(P) :X«0C+64:NEXT 

490 GOSUB600:GOSUB610 

500 CLS:GOSUB550 

510 PRINT: print" Satcom F3R Programming Services For Transponders 

13 Through 24" 

520 X=194:PORP-13T024:PRINTM,P,AS(P) :X»X+64:NEXT 

530 GOSUB600:GOSUB610 

540 RUN 

550 PRINT87, "SATELLITE GUIDE - Hit any key for more information"; 

560 RETURN 

580 REM 

MAKE BORDER 

590 A$=STRING$(63,131)+CHR$(191) :F0RA-1T012:A$-A$+CHR$(26) +CHR$( 8) 
+CHR$ ( 191) : NEXT : FORA=lT013 : B$-B$+CHR$ ( 191 ) +CHR$ ( 26 ) +CHR$ ( 8) : NEXT rB 
$»B$+CHR$(191)+STRING$(62,176) rRETURN 

Listing continued 



is almost nonexistent in the satellite in- 
dustry. Only Home Box Office has 
threatened to modify their signal in the 
future. 

Some programming on Canada's Anik 
satellite is scrambled, but it has techno- 
logical problems that are so significant 
that subscribing cable companies have 
appealed to them to discontinue this 
practice. 

The Latest Developments 

Satellites launched since 1982 have 
more power than previous units. Conse- 
quently, picture quality remains high 
with less efficient (and less expensive) 
receiving systems. 

Because of these advances, great dif- 
ferences exist between equipment per- 
formance and cost. You can find dish 
antennas for around $1, 200 that give 



"Satellites launched 

since 1982 have 

more power than 

previous units. 

Consequently, picture 

quality remains high 

with less efficient 

(and less expensive) 

receiving systems. " 



the same performance as those costing 
in excess of $10,000. You can install 
complete systems today for about 
$2,000 to $3,000. 

The latest line of receivers on the 
market are more attractively packaged 
than those of a few years ago. They also 
provide new features and innovations. 

Richly furnished cabinets, illumi- 
nated meters, and digital channel read- 
outs enhance front panel appearance. 
Several companies even offer hand- 
held, infrared remote control. 

The Program 

Our program contains a satellite 
guide option and a site survey option. 
The satellite guide option lists all satel- 
lites and their position relative to earth, 
and prints a graphics display. It also 
lists the 24 TV channels on the Satcom 
F3R satellite. 

The she survey option prompts you 
for your location and tells you if you 



142 • 80 Micro, December 1983 




You've Got 

TOTAL ACCESS 



TM 



Rose 



TO YOUR COMPUTER HARDWARE & SOFTWARE 
NEEDS. CALL ROSE TODAY! 



TM 



AEROCOMP DISK DRIVES 

External drives lor TRS80 Mod I or III. IBM PC & Tl 
99/4 A are complete with power supply & enclosure 

40 Track Single Side (Tandon) $199 

40 Track SS "Flippy" (MPI) 239 

40 Track Dual Head (Tandon/MPI) 279 

80 Track SS (MPI) 299 

80 Track SS "Flippy" (MPI) 329 

80 Track Dual Head (Tandon) 379 

Color Computer Add-On 

Drives (2nd & 3rd) 199 



8" EXPANSION BOX 

Complete system with power supply & fan 
(slimline) 

Two 8" Single Side $699 

Two 8" Double Side 849 



'All New! Half-High Drives 
Available Now. Call For Prices. 
BARE DRIVES 

Internal drives for TRS80 Mod. Ill, IBM PC & Tl 99/41 

(controller reauired) 

40 Track SS (Tandon) $169 

40 Track Dual Head (Tandon/MPI) 249 

80 Track SS (MPI) 269 

80 Track Dual Head (Tandon) 339 

8 inch Single Side Thinline 260 

8 inch Dual Head Thinline 375 

MODEL III DRIVES 

Complete internal drive kits with 40 track drives, disk 

controller, power supply, all hardware & cables. 

Drive Kit Only (no drives) $1 99 

One Drive System Kit 369 

Two Drive System Kit 539 

MODEL I DOUBLE DENSITY 

CONTROLLER 

AEROCOMP "DDC" $99 

AEROCOMP "DDC" w/LDOS 169 

AEROCOMP "DDS" 49 

(Double dens data separator for Percom 
Doubler. LNDoubler or Superbrain 

AEROCOMP "SDS" 29 

(Single dens, data separator) 

MISCELLANEOUS DRIVE STUFF 

TRSDOS 2.3 Disk & Manual $20 

LD0S(Mod I or III) 119 

NEWD0S/80, 2.0 (Mod. I or III) 129 

Diskettes (10 in library box) 23 

MX80 Ribbons $9 

Drive Power Supply & Enclosure (5 25") .59 

2-Drive cable 24 

4-Drive cable 34 

Extender cable 13 

c Total Access 1 983 



MICRO 
DECISION 



$1299 

64 K CP/M 2.2. two serial ports 
MBASIC - WordStar - Logicalc 
BaZic - Correct- IT 
12" Green Video 80 x 25 
Double Density (200K) Drive 



Uses APPLE Software 
Call, it may be 
cheaper by now 



$999 



brother 



EM-1 Electronic 
Typewriter 
Choose 
Either One 



HR1 PRINTER 

$799 



EPSON FX-80 

160cps Fnction/Tractof (S32 Option) 
10.12.165 cpi 

+ Doubiew.de CCCQ 

6.8.12 ipi M>%JV57 



TRS-80 SPECIAL EQUIPMENT 

80 x 24 Video Board for the Model III. .. $199 

112K CP/M 2.2 for the Model III $399 

16K Memory, 200nsec. Guar 1 yr 8/S1 2 

64 K Memory, 200nsec, Guar 1 yr 8/S48 

1 2' Green Phosphor Monitor $87 



SOFTWARE 

Super Utility Plus 3.0 by Kim Watt $59 

Alcor PASCAL Model I or III 169 

P&T CP/M for the Mod II 159 

P&T CP/M for the Mod 16 189 

P&T CP/M for the Hard Disk 199 

All SNAPPWARE **10%"OFF 

I have lots of other software. Call me now for your 
needs. All at discount 



MEDIA & SUPPLIES 

8" disks SS DblDen, Guar. Forever $29 

8" disks DS DWDen, Same Guarantee. ... 39 

5" Flipsort, holds 75 disks 19 

8" Flipsort same deal 29 

5" Library boxes $2.50 

8" Library boxes $3.50 

5" or 8" Head cleaning kit 9 

Tractor paper, letter size 2900 sheets 25 

LNW COMPUTERS 

128K LNW-80 Model II, Both NTSC & RGB 
outputs. RS232 and parallel printer port. 
Uses both 5" and 8" drives. Works on all 
known TRS-80 DOS's. Comes with 
DOSPLUS. Also works with CP/M 2.2 
which is included at no extra cost Now 
a FREE 12" GREEN PHOSPHOR 
monitor and cable included. All for 
the low price of $1695 



PRINTERS & OTHER ACCESSORIES 

ANADEX DP-9500A or 9501 A $1239 

ANADEX DP-9620A 200 cps 1399 

ANADEX WP-6000, 284 cps. NLQ 2695 

PROWRITER 120 cps. 10" Fnction/Tractor 375 
PROWRITER 2. 120 cps, 15" Fnc/Trac . 669 
STARWRITER F-10. 40 cps Daisy Wheel. 1250 
PRINTMASTER F-1 0,55 cps Daisy .1499 

Rutishauser Bidirectional Tractor 1 99 

Rutishauser Sheet Feeder 895 

PERIPHERALS - 
32K LNW Expansion Interface w/RS232...$329 
Mod III RS232 complete, ready to install. 79 
Signalman Mk I Modem 300 baud, 
direct connect 89 

Please add $5 handling charge to all orders under $24 

ORDER NOW! 
TOLL FREE 
800-527-3582 

Write or call Toll free lines are for orders only. Texas 
residents call 21 4/458-1 966 and deduct $2.00 from 
your order. If you need technical information or service 
use the Texas number. Prices are subject to change 
without notice and are mail order only. I accept VISA 
or MASTERCARD, you can send a check or money 
order (allow a couple of weeks for personal or 
company checks to clear) or order COD (cash, 
certified check or money order only). Shipping is not 
included unless otherwise indicated Please add $5 
handling charge to all orders under $24. Texas orders 
add 5% tax No tax added on shipments outside 
Texas Order up - I need the money! 

TOTAL ACCESS 

P.O. BOX 790276 
DALLAS, TX 75379 
214-458-1966 

NEXT DAY SHIPMENT on all in stock Merchandise 



TM 



* See List or Advertisers on Page 291 



80 Micro, December 1983 • 143 



l.ishnt continued 

600 PRINTei28,A$; :PRINT3128,B$; :POKEl6383 f 191 i RETURN 

610 GOSUB550:PORX»1TO200:IFINKEY$«""THENNEXTELSERETURN 

620 PRINT325," "; :FORX=1TO50:IPINKEY$«""THENNEXT 

630 GOTO610 

640 IK$=INKEY$:IFIK$=""THENGOTO640ELSER£TURN 

1000 CLEAR100:DEFDBL A-Z 

1010 PI-3. 141592 

1020 R-3963 

1030 H*2230fl 

1040 CLS:PRINTei8, "SATELLITE SITE SURVEY PROGRAM" :PRINTSTRING$( 64 , 

"-") 

1050 PRINT-ENTER THE LONGITUDE OF THE SATELLITE. HOW MANY DEGREES 

"; 

1060 INPUT SD: INPUT" HOW MANY MINUTES ";SM 

1070 INPUT"IS IT WEST OR EAST LONGITUDE (ENTER W OR E) ";SB$ 

1080 SA-SD+SM/60:IF SB$»"E"THEN SA— SA 

1090 INPUT" ENTER DISH (ANTENNA SITE) LONGITUDE. HOW MANY DEGREES 

";DD 

1100 INPUT"HOW MANY MINUTES "jDM 

1110 INPUT'IS IT WEST OR EAST LONGITUDE (ENTER W OR E) ";DB$ 

1120 DA«DD+DM/60:IF DB$-"E"THEN DA— DA 

1130 INPUT"ENTER DISH LATITUDE. HOW MANY DEGREES "jTD 

1140 INPUT'HOW MANY MINUTES ";TM 

1150 TA«TD+TM/60:TA-90-TA 

1160 A»ABS((SA-DA)*PI/180) 

1170 OTA*PI/180 

1180 CA=SIN(C)*COS(A) :TA=SQR(1/ (CA*CA) -1) 

1190 AA-ATN(TA) 

1200 BS-SIN(A)/SIN(AA) 

1210 TB-1/SQR(1/(BS*BS)-1) 

1220 BB-ATN(TB) :BB-BB*180/PI 

1230 IF SA>DA THEN TR-180+BB ELSE TR=180-BB 

1240 PRINT'THE TRUE BEARING (ANTENNA HEADING) IS "; 

1250 PRINTUSING"M#.##";TR 

1260 X-SQR(R*R+(R+H)*(R+H)-2*R*(R+H) *COS(AA) ) 

1270 SE-(R+H)*SIN(AA)/X 

1280 TE=1/SQR(1/(SE*SE)-1) :EL«=ATN(TE) 

1290 EL-EL*180/PI 

1300 EL-90-EL 

1310 PRINT'THE ANGLE OF ELEVATION IS "; 

1320 PRINTUSING"###.##"; EL;: PRINT" DEGREES" 

1330 PRINT: INPUT'HOW MANY DEGREES IS THE MAGNETIC DEVIATION OF YOU 

R AREA ";MD 

1340 INPUT" IS THAT WEST OR EAST (ENTER W OR E) "»A$ 

1350 IFA$="W"THEN MD»MD+TR ELSE MD=TR-MD 

1360 PRINT"YOUR COMPASS HEADING SHOULD ";USING"#M . M";MD; :PRINT" 

DEGREES" 

1370 INPUT"HIT <ENTER> FOR MENU ";OLS:RUN 



can place a satellite receiving station on 
your property by calculating the head- 
ing and elevation of a dish for any given 
satellite. 

The program first prompts you with 
a menu containing the two options. Hit 
the S key to perform a site survey or the 
P key for a satellite programming guide. 

The satellite guide section presents a 
visual picture of the earth, with current 
satellites in their respective positions. 
The program displays information about 
the various satellites, including their 
longitude (true position) and their coun- 
try of origin. 

There must be an unobstructed line 
from your dish to the satellite. In the 
winter, trees have no effect on micro- 
waves, but the addition of water in 
foliage in the spring and summer wipes 
out reception. 

The mathematics used in the pro- 
gram involve spherical trigonometry 
and is beyond the scope of this article. 

Data Input 

It's easy to accurately determine the 
144 • 80 Micro, December 1983 



latitude and longitude of your house by 
checking a map or referring to the deed 
to your house. You must also input the 
magnetic deviation (the difference be- 
tween true north and magnetic north) in 
your area. You can get this information 
from your local airport or, if you live 
along the coast, from the local Coast 
Guard base. 

Enter the longitude of the satellite 
you wish to find by copying the infor- 
mation from the satellite guide section 
in the program. Enter fractional degrees 
using either a decimal point or by an- 
swering the prompt for the number of 
minutes of arc. For example, if your lat- 
itude is 74 degrees, 50 minutes, you can 
enter this into the program in two ways: 

ENTER DISH (ANTENNA) LONGITUDE 
HOW MANY DEGREES? 74.8 
HOW MANY MINUTES? 



or 



ENTER DISH (ANTENNA) LONGITUDE 
HOW MANY DEGREES? 74 
HOW MANY MINUTES? 50 



Installing It Yourself 

If you're interested in purchasing 
your own satellite receiver, we suggest 
you talk to your local satellite dealer. 
Unless you're mechanically inclined, a 
site inspection for reception quality, 
and siting the antenna should be done 
by a professional. 

With a distance of 22,300 miles from 
satellite to the equator, an antenna 
situated off by 1 degree will miss its in- 
tended satellite by 1,000 miles. A 
preliminary inspection will save you a 
lot of wasted effort in an area of poor 
reception. 

By running your own cable, pouring 
the concrete, and assembling the equip- 
ment yourself, however, you can save 
hundreds of dollars. 

We purchased a Wilson Microwave 
system. The Wilson system is not a 
turnkey system; that is, the manufac- 
turer does not supply all the material 
necessary to put the system into opera- 
tion, but only a few connectors and 
some wire aren't included. 

The wire is standard multiconductor 
cable. It runs the power supplied by the 
indoor receiver out to the low-noise am- 
plifier and downconverter. You also 
need an RG-59U wire to bring the TV 
signal from the downconverter into the 
house. You can purchase both types of 
wire at Radio Shack. 

One person cannot install this system 
alone. Laying the concrete foundation 
for the dish and assembling its panels 
are two-man operations. 

An 1 1-foot dish has a surface area of 
95 square feet. On a 100-square-foot 
area, an 80 mph wind exerts a 2Vi ton 
force. This kind of stress makes a secure 
base essential. 

Conclusion 

In retrospect, the expense we incurred 
to construct a working earth satellite re- 
ceiver system was higher than orig- 
inally estimated. Several nuts and bolts, 
two special microwave connectors 
(available from a satellite system 
dealer), and wire and cables all were ad- 
ditional expenses. 

The system is fairly easy to operate, 
although you have to adjust the fine 
tuning every time you change stations. 

During heavy rain, we pick up some 
snow on the picture, but other than 
that, picture quality is good. 

What's on TV tonight? Everything! ■ 

Dan Keen and Dave Dischert can be 
reached at Soft Horizons Computer 
Software, RD1 Box 432, State Highway 
83, Cape May Court House, NJ 08210. 



DOES YOUR COMPUTER 
WA$TE MONEY? 

It Does If Your Software 
Wastes Valuable Time 




Our programs and systems are the result of experience gained working with custom systems. They were developed 
for the general user with the user's needs in mind at all times. Every effort has been made to make the very best possible 
use of the hardware in terms of speed, capacity, and efficiency. 

All versions of mailing list and data bank are programmed in compiler basic using ISAM' files to eliminate the need for 
time consuming, inefficient, and expensive sorting. Through the use of 'ISAM' files, the maximum number of records that 
can be handled by the computer is only limited by the availability of disk space and not by the amount of computer 
memory needed for sorting and the complete file is accessible at any time. 

The use of ISAM' files is not the only time saver, as compiler basic programs run considerably faster than ordinary 
basic programs. For example: the loan amortization system was programmed in compiler basic just to speed up the time it 
takes to calculate the loan payments and produce the amortization report. 

Both versions of our inventory system are programmed in interpreter basic, utilizing both direct access and variable 
length records to maximize access speed and the use of available disk space. 

The dedication, ability, and years of experience of both the system analyst and the programmer combine to make 
these programs and systems among the finest that you have had the opportunity to use and certainly one of the best values 
on the market. 



DATA BANK SYSTEM 

Builds and maintains user defined data f Me(s) with up to 16 (12 for 
model III) user defined data fields. The user specifies file name, 
control field data, data field names, and data field size The 
system adds records, changes records, deletes records, displays 
individual records, prints all records in user defined format with 
user's choice of fields and order, and prints records by user 
defined search as to field and value in user defined format with 
user's choice of fields and order. Model 2, 12 $295.00 

Model III ..'.'.'..'. %27SM 

MAILING LIST SYSTEM (Alpha Sequence) 

Builds and maintains mailing list in alpha sequence by entire 
name. The system adds records and checks for duplicates, 
changes records, deletes records, displays individual records, 
prints all records, prints records by user specified zip code 
search, prints all mailing labels, prints individual labels (as many 
as requested), prints labels by user specified zip code search, & 
prints telephone directory. The data file created by this system 
can be used as input for the mailing list (zip code sequence) 

system Model 2, 12 $200.00 

Model III $175.00 

MAILING LIST SYSTEM (Zip Code Sequence) 

Builds and maintains mailing list in alpha sequence within zip 
code sequence. This system adds records and checks for 
duplicates, changes records, deletes records, displays individual 
records, prints all records in alpha sequence within zip code, 
prints records by user specified zip code, prints all mailing labels 
in alpha sequence within zip code, prints individual labels (as 
many as requested), prints labels for user specified individual zip 
codes, prints telephone directory in alpha sequence within zip 
code, and reads in f ile(s) created by mailing list (alpha sequence) 

Model 2, 12 $250.00 

Model III $225.00 



LOAN AMORTIZATION 

Calculates personalized loan payments and interest User specifies 
loan amount, interest rate, and length of loan. Displays monthly 
payment, displays monthly analysis, displays totals, prints monthly 
payments, prints monthly analysis, and allows user to enter over 
ride of monthly payments and recalculate totals and print or 

display monthly analysis. Model 2, 12 $125.00 

Model III $115.00 

INVENTORY CONTROL SYSTEM 
(Retail, Wholesale, Manufacturer) 

Builds and maintains records on all in stock items. Records 
contain user's part number, manufacturer's part number, on 
order quantity, in stock quantity, reorder point, wholesale price, 
retail price, sales history for preceeding month, year, same month 
last year, this year to date, last year to date. Displays individual 
item record, prints complete record for all items, and prints 
suggested purchase order. The add routine checks for duplicates. 

Model 2, 12 $275.00 

Model III $225.00 

DESK CALENDAR 

Each month prints on 14'- B x 11 paper. Each day is blocked to 
allow appointments entry. User specifies beginning month and 
number of months and number of calendars to be printed. 4 lines 
of user information may be printed on each month which makes 
it useful as an advertising media. Model 2 12 $49.95 

Model III $49.95 

WALL CALENDAR 

Each year prints on 8'/? x 11 paper. User specifies beginning 
month and number of calendars to be printed 4 lines of user 
information may be printed on each month which makes it useful 
as an advertising media Model 2 12 $49.95 

Model III ........ U9.9S 



For Additional Information Send for User Documentation — $15.00 per copy. 



Minimum Hardware Requirements 

Model III 48k 1 Disk 

Model 2, 12 64k 1 Disk 



Shipping Costs Included on Pre Paid Orders. 
N.C. Residents Add 4V6% Sales Tax. 
Personal Checks Allow 3 weeks. 



CDP 



Route 3, Box 1 • Hamptonville, N.C. 27020 
(919) 468-2113 

8 am • 5 pm Eastern 



• 65 



^ See List ot AcMtrtisens on Page 291 



80 Micro, December 1983 • 145 



REVIEW 



A Modem Sampler 



by R.A. Langevin 



• ••• 

J-Cat 
$149 

• ••• 

103/212 Smart Cat 
Novation Inc. 
18664 Oxnard St. 
Tarzana, CA 91356 
$595 

• ••V2 

212A/D Direct Connect Modem 
Universal Data Systems 
5000 Bradford Drive 
HuntsvOe, AL 35605 

$745 

These three direct -connect modems 
offer attractive alternatives to meet the 



Choose one of these 
modems and get the 
right communication abil- 
ity for your applications. 



need to transmit information from your 
computer over telephone lines. They 
differ significantly in price and capabili- 
ties* but one of them is likely to suit 
your needs. 

Each of the three modems works well 
and does all that it's supposed to. If you 
can get along with a 300 baud modem, 
the J-Cat is hard to beat in terms of 
price and performance. It's small, 
works perfectly, and is about as 
inexpensive a modem as you can buy. 

If you need a 1,200 baud modem, in 







103/212 




Feature 


J-CAT 


Smart CAT 


UDS 212A/D 


Size (Inches) 


5.0 x 1.9 x 1.3 


10.0 x 4.7 x 1.2 


10.85 x 9.76 x 2.42 


Baud Rates 


300 


300/1200 


300/1200 


Auto Dial 


See Text 


Yes 


Yes 


Manual Answer 


Yes 


Yes 


Yes 


Auto Answer 


Yes 


Yes 


Yes 


Keyboard Dial 


No 


Yes 


Yes 


Manual Redial 


Yes 


Yes 


Yes 


Auto Redial 


No 


Yes 


Yes 


Oial Modes 


See Text 


Pulse/MFTD 


Pulse/MFTD 


Memory 


None 


Last # 


5 #'s ♦ Last t 


Asynchronous 


Yes 


Yes 


Yes 


Synchronous 


No 


No 


Yes 


Resettable Defaults 


No 


Yes 


No 


Self Test 


No 


Yes 


Yes 


Analog Loopback 


Yes 


Yes 


Yes 


Local Digital Loopback 


No 


Yes 


Yes 


Remote Digital Loopback 


No 


Yes 


Yes 


Phone Jack(s) 


RJ11C 


RJ11C 


RJ11C/RJ45S 


Power (Watts) 


8.0 


13.5 


7.0 


Power Supply 


Wall XFMR 


Wall XFMR 


Internal 


Power Switch 


No 


No 


Yes 


Status Response 


LED 


DISPLAY 


DISPLAY 


Phone Service 


1* 


1* 


1, 2, 3* 


Cables Provided 


All 


Phone Line 


Phone Line 


Price 


145.00 


595.00 


745.00 



•Phone Service: 1 - Permissive, 2 - Programmable. 3 - Private Line 

Table 1. Summary of modem characteristics. 
148 • 80 Micro, December 1983 



addition to or instead of 300 baud oper- 
ation, the Smart Cat offers a near-per- 
fect alternative. It's remarkably small, 
offers all the features you're likely to 
need, and is competitively priced. 

Alternatively, if you want a modem 
that can handle any 300 or 1,200 baud 
operation you might encounter, the 
UDS 212A/D is an excellent choice. It 
offers all the flexibility you're likely to 
need, is easy to operate, and includes di- 
agnostic capabilities to isolate commu- 
nications problems on the line, in the 
modem, or in the terminal equipment. 
All in all, it's a good product for com- 
mercial or industrial applications. 

Table 1 summarizes major features. 
Which modem you choose depends on 
your finances and applications. 

The three modems differ radically in 
size. The Novation J-Cat is scarcely 
larger than a pack of cigarettes. Its 
more capable companion, the 103/212 
Smart Cat, resembles a tall paperback 
book. The UDC 212A/D, clearly in- 
tended for commercial use, has a foot- 
print that is almost 3/4 of a square foot! 

The J-Cat and UDC units are housed 
in plastic cases and the Smart Cat comes 
in a nonmagnetic metal case. All the 
units should retain their physical in- 
tegrity in any ordinary use. 

A conventional plug-in wall trans- 
former powers the two Novation mo- 
dems. The UDC unit has an integral al- 
ternating current (ac) power supply. 

Neither of the Novation units has an 
on/off power switch, an unfortunate 
omission. The power requirements of 
these modems are nominal, however, 
ranging from 7-13.5 watts, so it's feasi- 
ble to leave them turned on all the time. 

J-Cat 

The J-Cat is a simple, full duplex, 300 
baud modem that has surprising capa- 



bility in spite of its tiny size. You oper- 
ate it with two push buttons; it has two 
LEDs that indicate its status. One push 
button puts the modem on line; the sec- 
ond disconnects it. Pressing the two 
buttons simultaneously puts the modem 
in analog loopback mode, so that its 
output connects to its input — an invalu- 
able test to verify its operation. 

You select auto answer or manual 
answer modes with a slide switch on the 
back of the unit. The two LEDs indicate 
when the modem is off-hook and ready 
for operation. 

Although the J-Cat is not directly 
usable in auto-dial mode, you can im- 
plement auto pulse dialing with dial 
tone detect if 1 input and 1 output bit 
are available from another port. The 
operations manual provides a simple 
program to implement directory dialing 
and automatic redial using these bits. 
The program is written in Applesoft 
Basic but you can readily adapt it to Mi- 
crosoft Basic. 

The J-Cat is relatively unique among 
modems in providing automatic mode 
selection. When on line, the modem al- 
ternates between originate mode for 
two seconds and answer mode for four. 
As soon as it detects a carrier, the 
modem locks in its current mode. This 
relieves the user of any concern for se- 
lecting the modem's operating mode — a 
very useful feature. 

The J-Cat comes with all the required 
cables, including one terminated with a 
female RS-232C D-connector that plugs 
into the output of your serial interface. 
A Y cable is also provided; one end of it 
plugs into the phone line via an RJ11C 
plug. The other leg of the Y terminates 
in a socket that accepts the RJ1 1C plug 
on the telephone. 

You don't need to buy anything else. 
Simply hook up the modem according 
to the clear directions in the operations 
manual, load your terminal program, 
and you're ready to communicate. 

The J-Cat's operating manual is a 
4!4- by 9 , /2-inch booklet of 21 pages 
that is clearly written and provides 
all the necessary information to install 
and operate the modem. A schematic is 
included, with detailed pin-outs for the 
connectors on the back of the unit. 

103/212 Smart Cat 

The 103/212 Smart Cat is the J-Cat's 
big brother. In addition to operation at 
both 300 and 1,200 baud, the user-pro- 
grammable Smart Cat provides numer- 
ous operating conveniences. 

In normal operation this modem has 
no visible controls. You select all oper- 
ating modes by entering commands 

-- S— U*t of A&mmm on Htm 291 



from the terminal or computer key- 
board. As a consequence, you can tuck 
the modem away from the operating 
position in the most convenient loca- 
tion. You can even place it inside a piece 
of equipment if the thermal environ- 
ment isn't severe. 

The Smart Cat has five option 
switches located behind its front panel. 
These are readily accessible if you pry 
the panel off with a small screwdriver. 
Once you set them, these switches will 
not normally need resetting. 

Switch 1 sets the command mode. It 
determines the character you must send 
from the terminal to indicate to the 
modem that a command follows. Nor- 
mally, the percent sign is the command 
indicator. By using the option switch, 
you can select any other character, in- 
cluding a control character, and substi- 
tute it for the percent sign. You termi- 
nate all commands with a carriage 
return. 

Switch 2 sets the response mode and 
gives the user the option of receiving 
modem responses on the terminal 
screen in full English words or in the 
terse mode as single characters. 

Switch 3 sets the data rate to which 
the modem is automatically set when 
you turn on the system. Naturally, you 
can change the rate afterward from the 
terminal keyboard. 

Switch 4 enables or disables the auto 
answer mode. You cannot subsequently 
reset this switch selection from the key- 
board. 

Switch 5 determines whether the 
modem senses the Data Set Ready 
(DSR) and Clear To Send (CTS) lines all 
the time or only after detection of a car- 
rier on the phone line. 

You maintain normal control of the 
Smart Cat with 21 commands that you 
can enter directly from the terminal or 
computer keyboard. Depending on the 
type of command, some have argu- 
ments and/or default values. 

Initialize puts the modem in its nor- 
mal working state, while Hangup dis- 
ables the modem, waits three seconds, 
and hangs up the phone. You cannot 
receive data during the three-second 
wait. 

Dial, followed by a string of up to 32 
characters, takes the phone line off 
hook and dials in accord with the char- 
acter string contents. Allowable charac- 
ters comprise 0-9, #, *, I, P, and W. I 
indicates that the modem generates tele- 
phone pulses rather than tones until the 
next P or W. 

P forces a wait for a dial tone; if no 
dial tone occurs in five seconds, the 
modem hangs up and gives a No Dial 



response. W forces a five-second wait 
before the modem begins dialing. 

You can use another dialing com- 
mand, Count, followed by an integer, 
to determine how many rings the 
modem waits for before aborting a call. 
Redial dials the last number at intervals 
of 40 seconds until you reach the num- 
ber or you've dialed it 10 times. 

Voice puts the modem in voice mode, 
and Modem puts it in data mode. Pick- 
up puts the phone line off hook, and 
also puts the modem in voice mode. 
Answer and Originate put the Smart 
Cat in answer or originate mode, re- 
spectively; they both take the phone line 
off hook. You must follow the last 
mode command, Giveback, with zero 
or 1 to put the modem in full or half du- 
plex mode 1 , respectively. 

Speed, followed by 1 or 2, sets the 



MODEL I 

UPGRRDE 

TD 9GK RRM 

• 4BK keyboard aeaory on pot*er-up 

• plus access to 32K E/I memory 

• and 2. 7K RAM above ROM. 

• Run CP/M 2. 2 or your Model 1 DOS 

•169 BIGMEM kit or »199 installed. 
•20 Utility software. «119 CP/M 2.2. 
•34 VisiCalc patch for 5SK storage. 
Send SASE for flyer with details. 

XHAS SPECIAL - DEDUCT 1BX 

MICR0HATCH 

POBoxSOl 
DeHitt MY 13214 - 4 ' 9 
(315)446-8831 after 6PN 

VIIICIU Tl VIIICMF. IIIKR Tl HICMMTCN. 
CF/I TR tlBITM. KICMCa IK. 




FOR USE WITH MOST MKRO COMPUTUS 



[j PAYMENT ENCLOSED $ • Add 



SI 00 per order for postage and handling Out 
side USA add $2 50 per unit ordered send US 
funds only [J Visa [J MasterCard 



«, P.O. BOX 7008 

P ^CMfUN ROSEVILLE. Ml 48305 

* • wwcw 1-600-732-0614 

Michigan Ftosktents Add 4% 



127 



80 Micro, December 1983 • 147 



modem speed to 300 or 1,200 baud. In 
answer mode, the modem automatical- 
ly sets itself to the incoming data's 
speed, irrespective of speed selection. 

Follow New with a single ASCII 
character to substitute that character 
for the current command character. 
Use Echo followed by zero or 1 (with a 
default of zero) to enable (zero) or dis- 
able (1) the echo of commands back to 
the terminal. The modem does not echo 
data. 

Query forces the modem to return a 
single character that describes its status. 
Long, followed by zero or 1, causes the 
modem to provide full English (zero) or 
single-character (1) responses. Break, 
followed by an integer n, sends a space 
on the phone line. The length of the 
space is n times 250 milliseconds. 

With the modem in voice mode, 
XMIT followed by a phone number 
transmits the DTMF tone pairs corre- 
sponding to the given number. 

Follow Unlisten with a one- to four- 
character hexadecimal (hex) argument 
to transmit the number of bytes given 
by the hex argument as data. This per- 
mits transmission of data that the mo- 
dem would otherwise interpret as com- 
mand strings. 

Format followed by a single-charac- 
ter argument establishes the number of 
data and stop bits, and the parity of 
data transmitted over the phone line. 
The allowable arguments and their in- 
terpretations are shown in Table 2. 

Test, followed by an integer from 
zero to 3, selects, respectively, hardware 
integrity, analog loopback, remote digi- 
tal loopback, or local digital loopback 
test modes. The hardware integrity test 
also occurs automatically when you 
turn on the machine. It verifies the 
modem's operation and correct connec- 
tion of the RS-232C cable. 

The responses the Smart Cat provides 
are clear and easy to understand. Ring 





Stop Data 


Argument 


Bits Bits Parity 





1 7 Mark 


1 


1 7 Space 


2 


1 7 Odd 


3 


1 7 Even 


4 


1 8 None 


8 


2 7 Mark 


9 


2 7 Space 


A 


2 7 Odd 


B 


2 7 Even 


C 


2 8 None 


Table 2. Format allowable arguments and in- 


terpretations/or the Smart Cat. 



indicates that the modem detects a ring- 
back tone, and Busy indicates a busy 
signal. No Dial, CONN Lost, and No 
ANS are self-explanatory, although the 
No ANS occurs only after the specified 
number of rings. 

UNSUCC means that for some un- 
specified reason the modem cannot 
complete the call. Ready means that 
carrier is acquired and communication 
established. Ring In tells you the 
modem detects an incoming ring. Final- 
ly, OK tells you that your last command 
is complete and the modem is ready for 
another. 

While this description sounds com- 
plicated at first reading, operating the 
Smart Cat becomes second nature with 
a little use. The operations manual, 
identical in size to that of the J-Cat, is 
only slightly longer, yet it provides a ful- 
ly adequate description of all the 
modem's operational and test features. 

The Smart Cat package includes the 
wall mount power transformer and a 
cable to connect the modem to an 
RJ11C phone jack. An RJ11C socket 
on the back of the modem lets you plug 
the telephone directly into the unit. 

The manufacturer provides no RS- 
232C cable, so you have to make one up 
yourself or buy one ready-made. The 
manual describes the necessary pin-out 
details at the cable's modem end. You 
have to determine the corresponding 
pin-outs at the serial connector on your 
terminal or computer. 

UDS 212A/D 

The UDS 212A/D includes most of 
the features available in the Smart Cat 
as well as a number of others that make 
it a natural selection for system houses 
that want to carry only a single modem 
that can be configured to meet most 
communications needs. 

Additional features available in the 
212A/D include selectable permissive or 
programmable transmit levels, operation 
with private phone lines, optional syn- 
chronous operation at 1,200 baud, bat- 
tery-backed memory for five 30-char- 
acter dial strings, and capability to wait 
for a second dial tone. The modem also 
displays and edits stored dial strings, 
and has a Help command to display and 
describe commands. 

The 212A/D is built on two circuit 
boards. The top board contains the 
modem circuitry, and the bottom the 
automatic calling unit (ACU) and the 
power supply. DIP (dual in-line pack- 
age) switches on the top board permit 
setting a variety of options. 

These include forced answer, forced 



originate modes, and private line opera- 
tion. You can disconnect on long 
receive or transmit space, loss of Data 
Terminal Ready (DTR), or loss of car- 
rier. The 212A/D also has auto answer 
always or only when DTR is enabled, 
synchronous or asynchronous opera- 
tion, and 9-, 10-, or 11-bit characters 
(including stop bits). 

Strapping options on the board per- 
mit grounding or ungrounding the 
modem chassis; selecting internal, ex- 
ternal, or slave transmit clock options; 
and selecting permissive or program- 
mable transmit levels. A DIP switch on 
the lower board enables or disables the 
automatic calling unit. 

In operation, you should think of 
these option selections as permanent, 
since you must remove the modem 
cover to change them— not something 
you care to do often. 

The 212A/D starts up in initialization 
mode. It expects to receive an upper- 
case, two-character string, EN, from 
the terminal or computer. The modem 
uses this input to establish the opera- 
tional character rate and data format. 
After it receives EN, the modem 
responds with: 

(CR) (LF) 

UDS 212 DIALER 
(CR) (LF) 

The colon is the prompt from the 
ACU and indicates that the unit is ready 
to receive commands. Eleven com- 
mands, input as single, uppercase let- 
ters, are available to control the opera- 
tion of the ACU. 

H, the Help command, displays a 
brief summary of the available com- 
mands on the terminal or computer 
screen. 

D lets you dial a telephone number 
directly from the keyboard. You can 
specify a number of up to 30 characters 
long containing both digits and opera- 
tors. Five operators are available: W, 
D, E, A#, and space. W in the dial 
string causes the ACU to wait for a sec- 
ond dial tone. This important feature 
permits use of the modem with alterna- 
tive carriers such as MCI, Sprint, and 
soon. 

D in the dial string introduces a pause 
of 1.5, 3.0, or 4.5 seconds in the dial- 
ing operation. You select the length of 
the pause. E at the end of the dial string 
immediately terminates the calling se- 
quence and connects the telephone to the 
phone line for voice communication. 

A#, after all other digit entries and 
where # is a digit from 1 to 5, takes the 
dial string from the memory register 



148 • 80 Micro, December 1983 



identified by # to complete the original 
dial string. The space character is pure- 
ly a cosmetic operator to improve the 
string's readability. 

ACU command L, followed by a 
digit from 1 to 5, loads any of the five 
memory registers with a dial string. The 
ACU repeats the loaded string back to 
the CRT and returns to command mode 
with the display of the : prompt. P, the 
Print command, displays the contents 
of all loaded memory registers on the 
screen. 

C, followed by a digit from 1 to 5, 
clears the contents of the correspond- 
ingly numbered memory register. If C is 
followed by the character L rather than 
a digit, all memory registers clear. 
Where # is a digit from 1 to 5, # causes 
the ACU to dial the dial string in the 
memory register identified by #. 

R redials the last number dialed, and 
X redials the last used dial string contin- 
ually until the modem detects an 
Answer Back Tone. 

Q, the Quit command, aborts any 
ACU operation. B takes the phone line 
off hook, and N cancels the B com- 
mand and returns the phone line to on 
hook status. 

A primitive, although entirely ade- 
quate, editing capability lets you correct 
mistakes made when you enter dial strings 
from the keyboard. Enter the character 
@ to delete the last character entered. If 
you enter several @ characters, the pro- 
gram deletes the corresponding number 
of previous keyboard entries. 

The 212A/D provides simple English 
responses to the terminal or computer 
screen to indicate the status and disposi- 
tion of ACU actions. These are self-ex- 
planatory and include such responses as 
Off Hook when you initiate dialing, No 
D.T if the modem detects no dial tone, 
echo of the number dialed, No ABT if 
the modem receives no Answer Back 
Tone, and Busy, Complete, or Abort to 
indicate call disposition. 

In addition to the options you set on 
the modem board itself, you can set six 
more options from the keyboard. OA#, 
where # is zero or 1 , requires dial tone 
detection before dialing (zero) or waits 
four seconds and then dials (1) even 
though no dial tone is present. Zero is 
the default. 

OB# provides pulse dialing, the de- 
fault, where # is zero and multifrequen- 
cy tone dialing where # is 1. OC# pro- 
vides DSR active if # is zero, the default, 
or inactive if lis 1. 

OD# sets the wait time before an un- 
successful dialing attempt aborts. 
Values of # from zero to 4 give wait 
times from 15 to 75 seconds. The de- 



fault is 30 seconds. OE# sets the delay 
produced by the D command in a dial 
string. Values of # from zero to 2 give 
delays of 1.5 to 4.5 seconds. Three sec- 
onds is the default. 

OF# lets you turn on or off the echo 
of commands back to the screen. A value 
of zero for # turns off the echo and 1 
turns it on. Echo On is the default. OG0 
reinitializes the modem to its start-up 
condition and requires entry of the ini- 
tialization sequence EN to enable the 
automatic calling unit. 

While it is convenient to set some of 
the modem parameters with the 
OA-OF commands, whatever settings 
you've established are lost if you turn 
off the modem or reinitialize it by using 
OG0. 

Finally, six buttons on the modem's 
front panel provide the last remaining 
elements of control. Four of these ac- 
tivate a modem self-test or the three 
loopback test modes.. A fifth forces the 
modem into 1 ,200 baud mode, and the 
sixth puts the telephone set on or off 
line. 

Overview 

All the modems are covered by a one 
year warranty on parts and labor. None 
of them is readily repairable by the user, 
nor is this recommended. 

You must return the two Novation 
modems to the factory for repair. You 
can have the UDS modem repaired at 
the factory or at a number of authorized 
service locations. Since none required 
service as I prepared the review, I don't 
have information on the turnaround 
time for repair. 

Reliability of the Novation units 
should be very good since they use a 
high degree of integration — the J-Cat 
has four integrated circuits and the 
Smart Cat has only a few more. 

The UDS 212A/D might be very re- 
liable as well, but the extraordinary 
parts count is a potential source of 
worry — the modem board alone has 83 
integrated circuits! 

None of the three modems comes 
with communications software. I oper- 
ated all of them for test purposes with 
the Lobo Max-80 using both the COM- 
M/CMD terminal program that is inte- 
gral with LDOS and SMODEM, a re- 
cent version of the widely available, 
public domain MODEM7, operating 
under CP/M 2.2. 

I accessed CompuServe and several 
local bulletin board systems at both 300 
and 1,200 baud (only 300 baud for the 
J-Cat) to verify the modems' opera- 
tional features. Each performed exactly 
as represented in the respective manuals, 



and I encountered no problems of any 
kind. 

Most of my complaints are minor. 
The J-Cat's remarkably small size 
makes you wish you could tuck it inside 
a terminal or a computer case. Unfortu- 
nately, you must use the unit's push 
buttons to put it on line and back off 
line. It's also aesthetically annoying that 
the label on the face of the modem is 
printed upside down. 

The Smart Cat leaves little room for 
complaint. It does what it's supposed to 
do and does it well, although it would 
be nice to have a power switch. 

The UDC modem has some prob- 
lems. As I mentioned, you must take 
the cover off to set the character size. 
This is a minor annoyance that becomes 
a major one when you remove the cover 
and the front panel falls off. It turns out 
to be devilishly difficult to get back in 
place. 

A more serious problem exists with 
the telephone set. Although you can 
plug the phone into the back of the 
modem and activate it with the talk 
switch on the front panel, you can't use 
the phone at all unless the modem is 
turned on. 

It is also unfortunate that, although 
you can reset a number of modem pa- 
rameters from the keyboard, you can't 
reset the defaults for these parameters 
and you are returned to the built-in de- 
faults whenever you turn off or reini- 
tialize the modem. 

The UDS manual deserves special 
mention. Unlike the manuals for the 
Novation units, the UDS manual tells 
you both too much and too little. It is 
full of acronyms, usually defined long 
after they are first introduced if they are 
defined at all. 

It tersely describes the bewildering 
array of available options that you can 
set or strap on the modem board, but 
you get no guidance as to what options 
you should select in what circum- 
stances. An entire chapter is devoted to 
"theory of operation," but after read- 
ing it you know nothing useful about 
the modem. 

Last, although the battery-backed 
memory for dial strings is a convenience 
and works perfectly, I can't understand 
why, with the low price of CMOS mem- 
ory, storage is provided for only five 
numbers. Except in dedicated service, 
five numbers don't seem to be 
enough. ■ 



Contact R.A. Langevin at 7621 Fon- 
taine St., Potomac, MD 20854. 

80 Micro, December 1983 • 149 



ACCESS UNLIMITED 



PERCOM DATA DISK DRIVE HOLIDAY SPECIALS : 

You always expect highest quality from Percom Data " v . Each 
Drive is thoroughly tested and gets a 48 hour burn-in so you 
get trouble free performance! 



• MODEL I 

DDA-35 
TFD40-1 
TFD40-2 
AFD40-1 

AFD40-2 



Upgrade to double density 

Single sided double density — one drive 

Single sided double density — two drives 

Single sided double density — one drive 

add-on 

Single sided double density — two drive 

add-on 



$ 99.95 
$239.00 
$449.00 

$239.00 

$449.00 



CLOSE-OUT! Limited Quantities 



TFD100-1 35 track single sided double density $239.00 

TF042-1 40 track flippy-one drive $269.00 

TFD42-2 40 track flippy-two drive $499.00 

AFD42-1 40 track flippy add-on $269.00 

• MODEL III 

TFD340N1 Single sided double density — one drive $359.00 

TFD340N2 Single sided double density — two drives $559.00 
ADD340N1 Single sided double density internal 

add-on $199.00 
ADD340X1 Single sided double density external 

add-on $229.00 

TFD344N1 Double sided double density — one drive $419.00 

TFD344N2 Double sided double density — 2 drives $699.00 
ADD344N1 Double sided double density internal 

add-on $289.00 
ADD344X1 Double sided double density external 

add-on $319.00 

CLOSE-OUT! Limited Quantities 

TFD342-1 40 track flippy — one drive $339.00 

TFD342-2 40 track flippy — two drives $569.00 

ADD342X1 40 track flippy external add-on $299.00 



BIG DISCOUNTS ON PRINTERS 



NEW! Brother CX15™ 

New! Brother HR1A" 

C.itoh F10™ 

Okidata " 

Star Micronics 10X & 15™ 

Star Micronics Gemini 10 TV 



Only $ 559.00 

Only $ 899.00 

Only $1495.00 

All Models Call for our super low prices! 

Call for our super low prices! 

(CLOSEOUT) Only S 259.00 



DIABLO MODEL 2300 MATRIX PRINTER 
Close Out Special — 

• Rugged, commercial duty • 7x9 dot matrix • High Speed! 200 
CPS 1 • Top of the line, highest quality 

Reg. Retail $2495.00 FOR UMITED TIME OHLY! 
WHILE QUANTITIES LAST $999.00 



A BUSINESS COMPUTER AT A 
PERSONAL COMPUTER 
PRICE!!!!! 




IBEX 7202 



Full-Blown 
Business Computer/ 
Word Processor 



LAST CHANCE — 



Regular Retail Over S1 0.000 00 

NOW 
ONLY 



$1879.00 



WHILE QUANTITIES LAST! 

With FREE CP M" 
& MBasic 80 Ver. 5.2" 

PLUS: Discounts on MicroPro'' Word Processing & ADS'*' 
Accounting Software! 

Main Features Of The iBEX 7202": 



• Two 8 inch double-sided/double density floppy 
disk drives with 2.4 million characters total 
Storage! This is a super system and one you can afford. 

• 64 KB RAM 

• 12" High resolution, green screen video monitor 

• Selectable 40, 80, or 132 character display 

• Parallel & RS-232 interface 

• Supports IBM 3740 format switchable 

• Strong, compact, and styled for the office 

CALL FOR FURTHER INFORMATION 

Christmas Sale! — 15% Off All Prices Listed 
PowerSOFT Software from Breeze QSD Inc.™ 

One disk BOOTS up on either machine. At PowerSOFT. we don't 
believe in making a customer buy a separate version tor Mod I or III. 
We ALWAYS include BOTH versions on the SAME disk tor your 
maximum convenience 80 Track versions are available on request 
All titles are for Mod I or III unless specified. 



PowerSOFT Product Title 


Retail Price 


SUPER UTILITY PLUS 3.0 


$ 79.95 


SUPER UTILITY PLUS'3.0 for MAX80 


$ 99.95 


INSIDE SU ♦ 3.0 MANUAL 


$ 19.95 


SU+ 3.0 TECH MANUAL 


$ 14.95 


INSIDE SU- 2. 2z MANUAL 


$ 19.95 


SU+ 2.2zTECH MANUAL 


$ 14.95 


THE TOOLBOX" for LDOS 


S 69.95 


MASTER MECHANIC SET tor LDOS 


S 39.95 


POWERDRIVERS tor SuperScnpsitTv (printer drivers! 




POWERDRIVER E (EPSON MX-80 100) 


$ 29.95 


POWERDRIVER P (PROWRITER) 


$ 29.95 


POWERDRIVER F (F-10 STARWRITER) 


$ 29.95 


POWERMAIL 


$ 99.95 


POWERMAIL PLUS" — Mod I, III. MAX80 


$150.00 


POWERMAIL PLUS* — Mod II 12 16 


$150.00 


POWERDRAW 


$ 39.95 


POWERDOT (EPSON or PROWRITER Only) 


$ 49.95 


POWERTERM Smart Terminal Pkge 


$ 29.95 


DOSPLUS II Operating System 


$249.95 


For Model II, 12, and 16Z80 




SCRIPLUS 3 


$ 39.95 


THE BASIC'S COMPILER SYSTEM 


$ 49.95 


MAKE/80 (Mod I or III) 


$ 19.95 


SUPER UTILITY (Mod I ONLY!) 


$ 29.95 


QUICK-FIX (Mod I ONLY!) 


$ 19.95 


'Coming out very soon Please inquire lor shipping date 





MICRO SHOPPING CENTER 



We have added approximately $400,000.00 worth of 
brand new business and game software with more 
arrivals daily. 
Call or write for our new FREE catalog. 



Save $$ on our most 



lar items! 



Percom Data Separator (reg. $29.95 
Screens for Models I*. II*. Ill Green, Lt. Blue, 

Dark Blue, and Amber Bronze for color video 

(reg. $24.95) 
Perfect Data™ Head Cleaning Kit (reg. $29.95) 
Drive Numbering Tabs, pkg. 0-3 (reg. $4.50) 
NEW Style Smoked Grey Acrylic File, 
Holds 75-5V« Diskettes 



COLOR CODERS — 5 Cases (stores 
10 disks ea.) — 5 different colors 
Library Cases (holds 10) 



Now $23.95 

Now $12.95 
Now $19.95 
Now $ 3.95 

Now $16.95 



$24.95 
$ 2.95 ea. 



MEDIA FOR LESS 



SENTINEL™ complete with hub rings & lifetime warranty! 

$ 22.80 bx of 10 
$ 24.80 bx of 10 
$ 33.80 bx of 10 

$ 35.80 bx of 10 
$ 38.80 bx of 10 



Single sided Single density 5Vt" 
Single sided'Double density 5W' 
Double sided/Double density 5W 

Single sided/Double density 8" 
Double sided/Double density 8" 



* BUY DISKETTES IN BULK AMD SAVE $$$$$$$$$$ 



These prices feed by the case only 

Single sided Single density 5W' 
Single sided Double density 5W' 
Double sided'Double density 5'/«" 

Single sided/Double density 8" 
Double sided/Double density 8" 

Disc Jackets — Only 15* each 



$210.00 case of 100 
$230.00 case of 100 
$310.00 case of 100 

$290.00 case of 100 
$340.00 case of 100 



SIGNALMAN™ MODEM 

Mark I with RS232C Interface. 0-300 baud 
Mark II with Atan Interface. 0-300 baud 
Mark III with Tl Interface. 0-300 baud 
Mark VI with IBM Interface. 0-300 baud 
Mark VII with RS232C Interface 

& auto answ orig. 0-300 baud 



$99.00 
$ 99.00 
$139.00 
$279.00 

$159.00 



Anti-Static Mats 

& Golden Brown. 
3' x 5' — Reg. $75.60 
4' x 6' — Reg. $120.90 
4x8 —Reg $161.30 



Colors: Russett, Blue & Gold, Natural Brown 



Sale 
Sale 
Sale 



$57.00 

$91.00 

$122.09 



SAVE on an "Arrick Quick Switch" 

Changes a "TRS-80" printer port or a peripheral between computers 
instantly and easily. Available for "RS-232" and "Centronics." Plugs 
included. 

Now from $99.95. Cables from $26.95 



• COMPUTER WORK DESK special? 

• Bi-level • Oak Or Walnut Pressure Laminated (NOT cheap vinyl 
or paper) • 19%" x 31 7 /e" x 35" High 

Your Price Only $39.95 

Pius Freight 

"0'$Hllivwi" Computer Furniture Also Available — Call 
For Details, Prices 

Printer Ribbons — For Centronics, Diablo, C-ltoh, Star and 
Other Popular Models From $5.95 each 

• Prices subject to cbaape without notice * 

* Tranemar* tf Tanoy Raftc Suae* Corp 

"Reg. Trademarks • Prices do not include state taxes. 



1 (800) 527-3475 



Order by phone or by mail We accept Visa, MasterCard, cashier s checks certified 
checks, and money orders With personal checks, allow additional time tor bank 
clearance Your bankcard will not be charged until your order is shipped FOR 
SHIPPING CHARGES Add S3 00 for orders under 50 lbs Add S5 00 for orders over 
50 lbs EXCEPT Orders of furniture, printers and systems — call for freight charges 

D Please send me a FREE catalog. I'm not ready to order at this time. 
□ YES, I'm taking advantage of your Sales prices. 

Name 

Company Name 

Address 

City 



State 



Zip. 



Phone Number I 
Quantity 



Item 



Unit Price 



Subtotal 



Subtotal 

Stale Sales lax (Texas residents only) 

(See above) handling charge 

Check one; Total 

□ payment enclosed □ Visa G MasterCard' 



*lf MasterCard, numbers above name: 
Expiration Date: I I I ~ 



Authorized signature, if charged 



ACCESS UNLIMITED 



KPT. B-12/401 N. Central Expy./Riclurdson, Texas 75080 

Tel. 1-800-527-3475 214-340-5366 

214/690-0207 — Sat. and Evenings Only 



^ 26 



HARDWARE 



r 



••, 



LOAD 80 



Real World Control— Part II 



by David L. Engelhardt 



U 



se your Model in to control a burglar alarm, 
sprinkler system, or other household device. 
These programs work with the hardware in Part I. 



This is the second of a two-part arti- 
cle for advanced builders to utilize a 
real-world interface and clock to operate 
a burglar alarm and sprinkler system with 
room for other real-workl applications. 

The four Assembly-language pro- 
grams in this article let you implement 
home control devices through your 
Model III, a real-time clock, and the in- 
put/output (I/O) board described in 
Part I (November 1983, p. 216). 



After you build and test your I/O 
board, you're ready to program your 
computer to take over some mundane 
household chores. 

Clock Program 

Program Listing 1 is almost identical 
to the one in "Real World, It's About 
Time" (80 Micro, March 1983, p. 342). 
I made a few slight changes to allow a 
relationship with the sprinkler and bur- 







Program Listing 1. Clock Initialization. 


00010 


; CLOCK 


INITIALIZATION AND INTERRUPT READ PROGRAM 


00020 


; WRITTEN BY DAVE ENGELHARDT 


3/15/82 


00030 


.-SAVE MEMORY SIZE OF -32447- 


(THIS WILL ALLOW ROOM 


00940 


1 






FOR PATCHING IN FUTURE 


90959 


; 






PROGRAMS . ) 


00060 


; EXECUTE WIT 


A /32448 




00070 


; 








90(180 


; 


INITIALIZATION SECTION 


00090 










00109 




ORG 


7EC9H 




INITIALIZATION SECTION 


99110 




DEFW 


9«H 




SPARE 


99129 


BEGIN 


DI 






DISABLE INTERRUPTS 


09139 




i.D 


A, 12 




USED TO SET INTERRUPTS 


99149 




I.D 


(4213H) .A 




ENABLE EXT INTERRRUPTS 


99150 




I.D 


HI, START 




LOAD START OF CLOCK 


99169 




I.D 


(493EH) ,HL 




TO INTERRUPT VECTOR 


90170 




LD 


A, 16 




00180 




OUT 


(9ECH) ,A 


; ENABLE TRS MAIN BUS 


00190 




LD 


A,128 


;SET UP 82 55 FOR 


00200 




OUT 


(SETUP) .A 


; MODE 9 


00210 




XOR 


A 




00220 




OUT 


(OUTC) .A 


;MAKE SURE PC7 IS OFF 


00230 




OUT 


(9ECH) ,A 


;SH"T OF MAIN BUS 


00240 




IM 


1 


;SET MODE 1 INTERRUPT 


00250 




1:1 




; ENABLE INTERRUPTS 


00260 


EX I 


jp 


1A19H 


;BACK TO BASIC 


00270 


I 








00780 


; 








00?90 


INPUT* 


EQU 


30H ;USED 


TO CONTROL CLOCK DATA LINES 


00300 


OOTB 


EQU 


31H ;USED 


TO CONTROL CLK ADflRSS LINES 


00310 


OUTC 


EQU 


32H ;USED 


TO CONTROL CLK FUNCTIONS 


00320 


SETUP 


EQU 


33H .-USED 


TO CONFIGURE 8255 


•0339 


; 








11*41 


; 


CLOCK 


INTERRUPT/ READ PROGRAM 


•0350 


; 








00360 


START 


PUSH 


HI. 


;SAVE REGISTORS 


••370 




PUSH 


DE 




00 3 89 




PUSH 


BC 




99399 




PUSH 


IX 




99499 




PUSH 


IY 




99419 




PUSH 


AF 




99429 




LD 


A, 16 


; VALUE FOR TRS BUS 

Larmg 1 connnurd 



glar alarm programs. The principal ad- 
dition is the patch in lines 1270-1320. If 
activated, the sprinkler and burglar 
alarm programs patch themselves here. 
These patches contain a jump address 
to the scan sections of the appropriate 
program. The clock's one-second inter- 
rupts trigger one-second scans of each 
program. If either or both of the pro- 
grams become deactivated, they disen- 
gage themselves from the clock's patch 
region. 

Burglar Alarm Program 

Program Listing 2 is heavily com- 
mented. When executed, the program 
prompts you with specific questions re- 
garding system status and locations 
where the alarm system is activated. I'll 
describe some of its basic functions 
below. 

When you run the program, it indi- 
cates its status and asks for the code 
word allowing it to swap its state. The 
code word I used is Mom, but you can 
change it. The program shows each lo- 
cation where the alarm is on. This lets 
you decide which point to deactivate 
when you turn off the system. 

An alarm system must allow time for 
you to exit and enter the building before 
the siren sounds. In this case there is a 
two-minute exit delay and a 30-second 
entrance delay. Two minutes after you 
leave, the system activates itself and 
starts scanning all of the activated alarm 
points. Upon entering, you must deacti- 
vate the system within 30 seconds or the 



The Key Box 

Model m 

16K RAM Cassette Basic 
32K RAM Disk Bask 
Assembly Language 
Editor/ Assembler 



152 • 80 Micro, December 1983 



siren sounds. 

Upon re-entry to the program, you 
must enter the code word to deactivate 
the system. It allows three attempts to 
enter the code word correctly. In case of 
a code entry error, the program jumps 
back to Basic. I label user-changable 
parameters in the listings. Just remem- 
ber to keep the time delay parameters in 
units of seconds. 

Also, in regard to the time delays, 
note that I allow two points in Port 2 for 
entry time delays. I label these in the 
listing under the individual alarms. If 
you need more points, double up some 
of them so that one point covers two 
doors. 

In case of an illegal entry, the pro- 
gram sounds a buzzer attatched to Port 
1, bit 16. This buzzer turns on and off 
for 30 seconds prior to activation of the 
main siren. The siren stays on for two 
minutes then shuts off. After a 30-sec- 
ond wait, the program checks its status 
again and recycles if an alarm condition 
still exists. 

There are also provisions in the pro- 
gram to make sure the relays shut off 
when they should. If the relay isn't off 
or fails to turn off the first time, there is 
one last attempt to shut it off. The sys- 
tem turns on the buzzer and prints an 
error message to attract your attention. 

This is usually the result of a hard- 
ware problem. The relay may actually 
shut off but the indication read back is 
in error. An asterisk blinks once a sec- 
ond in the upper right-hand corner indi- 
cating the system is active. 

I designed this system to be simple to 
use, fairlyburglar proof, and adaptable 
to your needs. It is not a guarantee of 
protection but only part of a home pro- 
tection plan. 

Sprinkler System Program 

In Program Listing 3, I designate 
four sprinkler zones. It starts with a 
menu offering four options: Auto, 
Manual, Go, and Exit. This program is 
self-explanatory, but I'll briefly de- 
scribe each mode. 

The Auto mode patches the scan sec- 
tion of this program into the clock pro- 
gram. Once this is done, the program 
checks the time of day (am/pm), day 
code, and time to start. You can change 
this to suit your needs. When this mode 
starts, each zone runs for 15 minutes for 
a total of two cycles. The Go mode is 
the same as the Auto mode except that it 
starts on your request. 

The Manual mode lets you turn on 
any zone for up to a maximum of 39 
minutes. The program checks for illegal 

Continued on p. 1S8 



Luring I continued 










0043« 




OUT 


(0ECH) .A 


; ENABLE MAIN BUS 


09440 




LD 


A, 144 


(SET 8255 FOR CONTROL 


00450 




OUT 


(SETUP) .A 


(CONFIGURE 8255 


00460 




LD 


A,l 


;SET UP FOR READ 


00470 




OUT 


(OUTC) .A 


jPO«T C FOR READ 


00480 




LD 


COUTB 


;C IS USED FOR OUT INSTR. 


00490 




LD 


B,12 


;USED TO ADDRESS COUNTERS 


00500 




LD 


H', BUFFER 


; START OF TIME STORAGE 


00510 




CALL 


GET 


;GET Y10 


00520 




CALL 


GET 


;GET Yl 


00530 




LD 


(HL) .'/' 


|PUT / IN WORD 


00540 




INC 


Br. 


;INC TO NEXT LOC IN BUFF 


00550 




CALL 


GET 


;GET M10 


00560 




CALL 


GET 


;GET HI 


00570 




LD 


(HL) .'/' 


;PUT IN SEPERATOR 


00580 




INC 


HL 


;INC TO NEXT POSITION 


00590 




CALL 


GET 


j GET D10 


00600 




BIT 


2, A 


;IS LEAP BIT SET? 


00610 




JR 


Z.GETD1 


(SKIP OP NOT 8BT 


00620 




AND 


31H 


; STRIP OFF LEAP BIT 


00630 




DEC 


HL 


;BACK UP 1 POSITION 


00640 




LD 


(HL) .A 


;PUT CORRECT VALUE IN 


00650 




INC 


HL 


;INC TO NEXT POSITION 


00660 


GETD1 


CALL 


GET 


;GET Dl 


00670 




CALL 


FILL 


; INSERT 2 SPACES 


00680 




CALL 


GET 


;GET DAY DIGIT (0-6) 


00690 




AND 


07H 


;MASK FOR DAY CODE 


00700 




LD 


(DIGIT) .A 


;SAVE FOR SPINKLER PROG 


00710 




DEC 


HL 


; RE-ALIGN BUFF PTR 


0072* 




LD 


DE,SU 


;GET ADDRESS OF TABLE 


00730 




RLA 




; SHI FT FOR 2 WORD OFFSET 


00740 




ADn 


A,E 


j ADn DAY INDEX TO A 


00750 




LD 


E,A 


;PUT INDEX TD A REG 


00760 




PUSH 


BC 


j SAVE PORT & ADRSS CONTRL 


00770 




LD 


A,(DE) 


;GET PTR TO DAY CODE 


00780 




LD 


(TEMPI) ,A 


;SAVE LSB OF DAY CODE 


00790 




INC 


DE 


; INDEX TO GET NEXT PTR 


00800 




LD 


A,(DE) 


;GET NEXT PTR TO DAY CODE 


00810 




LD 


(TEMP2) ,A 


;SAVE MSB OF DAY CODE 


00820 




LD 


DE, (TEMPI) 


;GET ADDRESS OF DAY 


00830 




EX 


DE.HL 


;SWAP PTRS FOR LDIR MOVE 


00840 




LD 


BC.3 


;SET CTR TO MOVE 3 BYTES 


00850 




LDIR 




;M0VE IT 


00860 




EX 


DE.HL 


;RETORE PTRS. 


00870 




POP 


BC 


; RESTORE PORT i ADDRESS'S 


00880 




CALL 


FILL 


;FILL WITH SPACES 


00890 




CALL 


GET 


;GET H10 


00900 




DEC 


HT. 


;SET BACK BUFF PTR 


11910 




PUSH 


AF 


;SAVE A REG FOR AM CHECK 


00920 




AND 


3^H 


,-MASK FOR H10 VALUE 


00930 




LD 


(HL) .A 


;PUT H10 VALUE TO BUFFER 


00940 




INC 


Ht. 


;NEXT BUFFER LOCATION 


00950 




CALL 


GET 


(GET Hi 


00960 




LD 


(HL) .'!' 


J PUT IN COLON I 


00970 




INC 


HL 


j NEXT BUFFER LOCATION 


00980 




CALL 


GET 


;GET M10 


00990 




CALL 


GET 


;GET HI 


01000 




LD 


(HL) ,' : ' 


;PUT IN COLON 


01010 




INC 


Ht. 


;NEXT BUFFER LOCATION 


01020 




CALL 


GET 


;GET S10 


01030 




CALL 


GET 


(GET SI 


01040 




CALL 


FILL 


(FILL WITH SPACES 


01050 




POP 


AF 


(RESTOR AM/PM INFO 


01060 




BIT 


3, A 


;IS THIS 24 HOUR FORMAT? 


01070 




JR 


Z.AMPM 


;SKIP AM/PM DISPLAY SECT 


01080 




CALL 


PILL 


; BLANK WHERE AH WAS TO BE 


01090 




JR 


DISPLY 


;GO AND DISPLAY TIME 


01100 


AMPM 


BIT 


2, A 


;IS PM BIT SET? 


01110 




JR 


NZ.PM 


;PM BIT SET 


01120 


AM 


LD 


(HL) .'A' 


;AM CODE 


01130 




JR 


CONT 




01140 


PM 


LD 


(HL) ,'P' 


;PM CODE 


01150 


CONT 


INC 


Ht. 


; INC TO NEXT BUFFER PTR 


01160 




LD 


(HL) , 'M' 


;PUT IN THE M FOR AM/PM 


01170 


DISPLY 


LD 


H', BUFFER 


;BEGIN OF TIME INFO 


01180 




LD 


DE r 3C24H 


(DESTINATION TO SCREEN 


01190 




LD 


BC;27 


(NUMBER OF TTME WORDS 


01200 




LDIR 




(MOVE THE TIME TO SCREEN 


01210 


NODISP 


LD 


A, 15 


(FOR CLOCK ADDRESSES 


01220 




OUT 


(OUTB) .A 


(SET ADDRESS LINES HIGH 


01230 




LD 


A, 129 


(SET READ HIGH-ENABLE INT 


01240 




OUT 


(OUTC) .A 


(TURN ON INTRUPTS VIA PC7 


01250 




XOR 


A 


(CLEAR A REG 


01260 




OUT 


(0ECH) ,A 


(TURN OFF TRS MAIN BUS 


01270 


WATER 


NOP 




(THIS IS WHERE 


01280 


WATERl 


NOP 




THE SPRINKLER SYSTEM 


01290 


WATER2 


NOP 




t IS PATCHED IN. 


01300 


BURG 


NOP 




(THIS IS WHERE 


01310 


BURG1 


NOP 




( THE BURGLER ALARM 


01320 


BURG 2 


NOP 




; IS PATCHED IN. 


01330 




POP 


AF 


(RESTORE REGISTORS 


01340 




POP 


IY 




01350 




POP 


IX 




01360 




POP 


BC 




01370 




POP 


DE 




01380 




POP 


HL 




01390 




EI 




(ENABLE INTERRUPTS 


01400 




RRT 




(RETURN TO INTERRUPTED PT 


01410 










01420 




INDEX 


TO DAY MESSAGE 


TABLE 


0143" 










01440 


SU 


DEPW 


SUN 




01450 


MO 


DEFW 


MON 




01460 


TU 


DEFW 


TUE 




01470 


WE 


DEFW 


WED 


Luting 1 continued 



80 Micro, December 1983 • 153 



SOFTWARE 
for INVESTORS 

* STOCK MARKET ADVISOR 
i* SYSTEM — SM AS 2.0 

SMAS employs both fundamental and 
advanced technical analysis. Its refined 
procedures that correlate three moving 
averages and other factors have been 
validated by applications to both stocks 
and portfolios. 

•Sophisticated procedures yield weekly 
appraisals of market trend and adviso- 
ries (with action price ranges) to buy, to 
sell, to hold, and not to buy specific 
stocks. 

• Data base includes 196 stocks. A/D file, 
and 4 indexes. 

• Data base stocks were selected on 
fundamentals. 

• You can use SMAS' results the very first 
week. 

• Metropolitan papers print data required 
by SMAS. 

• SMAS is menu driven, with both built-in 
checks for accuracy and efficient utility 
routines. 

• SMAS is especially valuable to inves- 
tors seeking long-term capital gains. 
Minimizes emotional involvement. 

• SMAS works with Nebula and printer; 
with TRSDOS, LOOS. NEWDOS/80, & 
DOSPLUS on TRS-80 (TM Tandy Corp.) 
Models I and III (48K). SMAS version 
2.0 only $169.95 + $3.00 for shipping.* 

f NEBULA STOCK 
i* DATA RETRIEVAL 

Nebula (Model 1, 48K. one drive. 300 
baud modem, RS232, optional printer, 
TRSDOS 2.3 or LDOS 5.0) retrieves 
stock, bond, option, and T-Bill prices from 
Dow Jones Service. Stores symbols in 
data statements and returned prices & 
volumes on disk in data file. Automatically 
disconnects. Does not need a terminal 
program. Dates & times are logged for 
reconciling service bill. Available either 
for independent operation ($52.00 + 
$3.00 shipping) or for use with SMAS 
(Special 1983 combination offer: Only 
$199.95 + $6.00 shipping for SMAS 2.0 
and Nebula together). 

-ANDROMEDA STOCK 
& TRADER & CALCULATOR 

Andromeda records transactions, includ- 
ing purchase/sale prices & dates, divi- 
dends, total cost & net realization. An- 
dromeda does not use special com- 
mands. Learning time is nil. When posi- 
tions are closed, it posts transactions to 
the sales file. Reports include Active 
Security and Security Sales Summaries, 
Portfolio Summary, and a summary table 
(either 80 or 132 col.) for use with IRS 
Schedule D. Requires TRS-80 Model I, 
48K. one drive with TRSDOS 2.3 or 
LDOS 5.0. Andromeda is regularly only 
$51.95 plus $3.00 shipping. 
SAVE — Special Introductory Price 
through Dec. 31, 1983: Andromeda only 
$32.50 + $3.00 shipping.* 

•Remittance by VISA. MASTERCARD, cashiers check, 
or MO. brings prompt shipment. Shipment is made 

after personal checks dear (about 3 weeks). Software 
is sent insured. 



SPIRA 




•92 



NTERPRISES 



Phone your order now: (017) 4414801 'Wf[ 

P.O. Box 5219, Fort Worth, TX 76106 5C I 

301 Crown Roed.WMow Park. TX7MM ^^ 

SPIRAL ENTERPRISES rS REGISTERED WITH THE S E C AS AN 
WVESTMENT ADVISOR 



Listing 1 continued 










• 1480 


TR 


DEFW 


THR 




01490 


FR 


DEW 


FRI 




01500 


SA 


DEFW 


SAT 




•151f 


; 








01520 


! 








01S30 


DIGIT 


DEFB 


00 


;USED FOR SPRINK DAY CODE 


01540 


TEMPI 


DEFB 





;LSB STORAGE FOR DAY 


01550 


TEMP2 


DEFB 





;HSB STORAGE FOR DAY 


01560 


BUFFER 


DEFS 


28 


; TI«E INFORMATION BUFFER 


01570 


; 








01580 


I 


TABLE 


OF DAY MESSAGES 




01590 


1 








01100 


SUN 


DEPM 


•SUN' 




01610 


HON 


DEFH 


•HON' 




01620 


TUE 


DEFH 


•TUE' 




01630 


WED 


DEFM 


'WED' 




01*40 


THR 


DEFH 


'THR' 




01*50 


PR I 


DEFH 


■FRI' 




01660 


SAT 


DEFH 


'SAT' 




01*70 


» 








01*80 


; 


SUBROUTINE TO READ THE 


CLOCK'S COUNTERS 


01690 


; 








01700 


GET 


OUT 


(C) .B 


;SEf UP ADrtRSS POR READ 


01710 




OUT 


(C) ,B 


;DO AGAIN FOR TIME DELAY 


01720 




IN 


A,(INPUT») 


;READ TIME 


01730 




ADO 


A,30H 


j OBTAIN ASCII VALUE 


01740 




LD 


(HL) .A 


fPUT VALUE TO BUFFER 


0175" 




INC 


BI. 


;INC TO NEXT BUFPER PTR 


01760 




DEC 


B 


J DEC B FOR NEXT COUNTER 


01770 




R*T 




;FINISHEDI 


• 1780 


; 








01790 


1 


ROUTINE TO PUT SPACES 


BETWEEN TIME INFO 


0180" 


; 








0181ft 


FILL 


LD 


(HL) ,2011 


.•ASCII SPACE CODE 


01820 




INC 


HI- 


j INC NEXT SPACE 


01830 




LD 


(HL) ,2011 


j PUT IN NEXT SPACE 


01840 




INC 


HI. 


;INC BUFPER PTR. 


01850 




RPT 




jDONE 


01860 


1 








01870 




END 


BEGIN 









Program Listing 2. Burglar Alarm. 


•••If 


; BURGLER ALARM PROGRAM 




00020 
00030 
00040 


; WRITTEN BY 


DAVE ENGELHARDT 


10/82 


; MAY 


BE EXECUTED WITH A /30992....OR 


00050 


I COMMAND 


ALARM', WITH USE 


OP -CMDTBL- PROGRAM, 


00060 


I 








00070 




ORG 


7910H 




00080 


BASIC 


EQU 


1A19H 


jJUHP TO BASIC 


00099 


BURG 


EQU 


7F99H 


j EXTERNAL IN CLK 


00100 


BURG1 


EQU 


7P9AH 


; EXTERNAL IN CLK 


00110 


BURG 2 


EQU 


7P9BH 


; EXTERNAL IN CLK 


00120 


CLEAR 


EQU 


1C9H 


; CLEAR SCREEN 


00130 


DORDLY 


EQU 


120 


j 2 HIN TIHE DELAY 


00140 


ENTDLY 


EQU 


31 


;31 SEC ENT DLY (ODD VAL) 


00150 


SIREN 


EQU 


120 


;2 HIN SIREN ON TIHE 


00160 
00170 
00180 
00190 
00200 


TOCLK 


EQU 


7P9CH 


.•EXTERNAL JUMP TO CLK 


I START OP 


PROGRAM 




ALARM 


CALL 


CLEAR 


;CLS 


00210 




LD 


H'.HESSl 




00220 




CALL 


21BH 


; PRINT INTRO MESSAGE 


00230 




LD 


A, (ALSTAT) 


;TEST TO SEE IP ALARM 


00240 




CP 





j ACTIVATED 0» DEACT 


00250 




JR 


NZ. ALMACT 


;GO IP ACTIVATED 


00260 




LD 


HL,MESS2 




00270 




CALL 


21BH 


; PRINT DEACT MESSAGE 


00280 




JR 


AA 


;SKIP ACTIVATED MESSAGE 


00290 


ALMACT 


LD 


Ht.,MESS3 




00300 




CALL 


21 BH 


; PRINT ACTIVATED HESSAGE 


00310 


AA 


LD 


HI..KESS4 




00320 




CALL 


21BH 


; PRINT CODE HESS 


00330 




LD 


B,4 


J 3 TRYS POR CODE- LOOP 


00340 




CALL 


CODE 


;GO AND TFST FOR CODE 


00350 




CALL 


BUSON 


;TURN ON TRS INTERNAL BUS 


00360 




IN 


A,(1H) 


; INPUT RFLAY ALARM PORT 


00370 




CPL 




.•COMPLIMENT VALUE 


00380 




AND 


30H 


;MASK RELAY BITS 4 k 5 


00390 




CP 





;ARE THE ALARMS OFF? 


00400 




JR 


Z.ALT 


jSKIP IF RELAYS ARE OFF 


00410 




OUT 


(1H) .A 


,-TURN OFF RELAYS 


00420 




CALL 


DLY 


;GIVE THEM TIME TO LATCH 


00430 




JR 


2. ALT 


;SKIP IP OFF FOR SURE 


00440 




LD 


H1.,ALHFLT 




00450 




CALL 


21BH 


; PRINT RELAY FAULT MESS 


00460 




JR 


OFFA 


;GO AND DEACT SYSTEM 


00470 


ALT 


LD 


A, (ALSTAT) 


.-FLAG USED TO PUT 


00480 




CPL 




; SYSTEH IN IT'S 


00490 




LD 


(ALSTAT) .A 


I OPPOSITE STATE 


00500 




CP 





;IS IT SET? 


00510 




JR 


NZ . ACT ALM 


;GO TO ACT SYSTFM 


00520 




CALL 


CLEAR 


; CLEAR SCREEN 


00530 




LD 


HI.,MESS2 




00540 

00570 
00580 
00590 
00600 




CALL 


21BH 


j PRINT DEACTIVATE HESS 


; DISABLE ALARM PROGRAM 




OFFA 


XOR 


A 


;CLR A 










Listing 2 continued 



154 • 80 Micro, December 1983 




My wonderful upgrade offer: 

If you bought my accounting software a while back, 
his good news. 

If you didn't, it's a good reason to buy it now. 



You're probably growing. My software keeps 
growing too. 

I've tinkered with it right along, improving 
it constantly. My accounting systems now work 
for CP/M, TRSDOS and MS/DOS (the IBM PC). 
It's a natural outgrowth of my support. Talk to 
a few thousand users on the phone, and you 
get a few new ideas. 

Early on, I resolved that none of my customers 
would suffer if they bought a system before I 
improved it. So I've made this offer ever since I 
started over four years ago: 

No matter when you bought, I'll upgrade any of 
my accounting systems to its latest capability on 
the same machine for $25. If you've upgraded your 
machine, I'll give you a replacement system for 
either $25 or the difference between what you paid 
for your software originally and the price of the new 



software. If you've gone from a TRS-80 Model I to a 
Model n/16 or an IBM PC, say, you get a full credit 
for whatever you paid me for your Model I systems. 
Just send me your old disks and I'll send you the 
new ones. 

It's this simple. If you ever buy any of my 
software, you'll never lose your investment. 

I wish the whole world were that simple. 



Taranto 

& ASSOCIATES. INC 



• 70 



Modal I. Modal III and Modal 4 systems: Accounts Payable. Accounts 
Receivable. General Ledger. Inventory Control. Invoicing. Payroll. 
Modal II. Modal 11/12/16, CP/M and IBM PC ayatama: General Ledger. 
Accounts Payable /Purchase Order. Accounts Receivable (Open Item or 
Balance Forward). Payroll /Job Costing, Inventory Control. 
Post Office Box 6216. 121 Paul Drive, San Rafael CA 94903. Outside 
California, toll free (800) 227-2868. In California. (415) 472-2670. 



CP/M is a trademark of Digital Research Corporation. TRS-80 and TRSDOS are trademarks of Tandy Corporation. MS/DOS is a trademark of Microsoft Corporation 

s»u« <"****-" on fg, 291 80 Micro, December 1983 • 155 



SPACE 



- ■ " 

■ ill 



Definitely THE BEST of the space 
games for the TRS-80 MOD l/l 1 1 

• 1 ,2 or 3 SIMULTANEOUS players! 

■ Each piloting a separate space ship 

* Incredibly realistic graphics! 

* Fast arcade response! 

* Options individually selected! 

• Meteors • Blackhole Gravity 

• Frying Saucers • Objects & Mines 

• Bounce or Wrap-Around Screen 

• Weapons: Missiles or Lasers 

• Difficulty options selectable! 

• # of Saucers • Saucer Speed 

• Space Ship Power • Gravity Force 

• Meteor Speed • Fuel Supply 

• Weapon Supply • Laser Length 

• Sophisticated ship controls! 

• Variable thrust level • Rotation • Flip 

• Fire left or right barrel • Hyperspace 

• Cooperative or Competitive! 

• Numerous scoring options 

• 1 player can fly 2 ships - 1 with each hand! 

* Alpha S TriMtlck compatible * Sound 

32K Disk $29.95 or 16K Tape $26.95 

Specify MOD I or III. 22 page manual included. 

California residents add 6% sales tax. 

Outside USA (except Canada) add $1000 

Copyright 1983 by John McAfee ^3^ 



r»N0v coup 



SOFT SYSTEMS 
& CONSULTING 

POBOK bOOJiA S.inid Bdfbdta CA 93160 



7R8-80- 






WOBOS" I 



■awlc Operating System 

W06O3 I * ■ mini drtvan. praatrueturad program n BASIC mat 
nrowlaa ac c aaa to ovar 30 uMty funct«XM during davatopmant or 
actual ua* Of a program. Ill uragua layout atow» you to da ■ atop 
your program i wMan a wal oraan lt ad anna u ra u a nl mat providaa 
a vary arrong foundation to buftj upon. You always had to ataft 
rrom acratoh bafora but now. altar loadkig WOBOS I. you 'I atari 
with aavaral K of aubrauHnoa and ayatam utaMaa. kin 
Ma car do for your productivity! WOBOS I la not an 
to your program. It actually bacomas Ha foundation! 




Muatratad abova It tha Primary Manu of WOBOS I for Modal M. 
In addition lo tha laaturaa ahown, tha DEVICE I/O ganarataa a 
a aparata a-choica rnonu that wM alow you to compaa. updata. 
aort and output your data flaw II atao mckidaa a utaHy that win 
aava both tha DATA and WOBOS I on tapa and or draft. 
Wrm controaabta SOUhtH 



'One* yo 



utwd H. you'll r,w¥wr wrltm 
program without HI' 



apacrfy your complata TRS-ag ayatam whan ordanng. 
WOBOS I comaa with an ki a t r ucMon Manual and it 

- Caaaatta for a> tapa ayatam* lupgradabta to dfakl . 

- Caaaatta tranafarabf* to dlak tor Modal I dtak ayatai 

- Diakatta for Modal ■ and Color Computor dlak ayatai 

Stappad Rrat Ctsaa Akmal at no *»tra charga 
ii you mantlon tNa ad. 



<903> 289-1133 



SEND CHECK. MONEY OROER OH NUMBER AMD 
EXfNRATrON OATC Of YOUR CMDtT CARD TO 

WtJP'EM Op*BM:* :-,■■ ^179 

M» H. Haydan Bay orf,, pornand. eg,* 072,7 



' tll-ll Ii a IB al 11III CM*. 



■at. 



Listing 2 continued 












■ ■610 




DI 




;DISABLE INTERRUPTS 




■ ■620 




LD 


(BURG) .A 


(CLEAR OUT JUMP 




■■630 




LD 


(BURG1) ,A 


; FROM CLK TO 




00640 




LD 


(BURG2) r A 


1 ALARM PROGRAM 




00650 




LD 


(ALMPLG) ,A 


(CLEAR SYSTEM FLAGS 




00661 




LD 


(BYPASS) ,A 


(CLEAR TIME DELAY PLAGS 




00671 




LD 


(ALSTAT) .A 


(CLEAR SWAP FLAG 




00680 




EI 




(ENABLE INTERRUPTS 




00690 
• ■700 

00710 
00720 
00730 




JP 


BASIC 


(JUMP TO BASIC 




1 ENABLE ALARM PROGRAM 






ACTALM 


XOR 


A 


(CLR A REG 




00740 




LD 


(SHPCTR) ,A 


(CLR FOR ALARM MESSAGES 




0075a 




LD 


(MASK1) ,A 


(CLR PORT 2 MASK 




00760 
00770 
00780 
00790 
0080H 




LD 


(MASK2) ,A 


(CLR PORT 3 MASK 




; SCAN 


ALARMS 


FOR SELECTIVE DEACTTVATION 




UPDATE 


CALL 


SECT1 


(SET-UP FOR PORT 2 ALRMS 




00810 




CALL 


CHECK 


(PRINT PORT 2 ALARMS 




00820 




CALL 


SECT2 


(SET-UP FOR PORT 3 ALRMS 




0083" 




CALL 


CHECK 


(PRINT PORT 3 ALARMS 




00840 


Dl 


CALL 


49H 


(SCAN KEYBD 




00850 




CP 


■R* 


(RE-SCAN a DISPLAY ALARMS 




00860 




JR 


Z. ACTALM 


;G0 BACK AND RE-SCAN 




00870 




CP 


• 01 


(CONTINUE WITH PROGRAM 




00880 




JR 


NZ-D1 


;GO BACK TO KEYBD SCAN 




00890 




LD 


HL,MESS6 


(PRINT ALARMS DEACT MESS 




00900 




CALL 


21BH 


(PRINT ABOVE DEACT MESS 




00910 




LD 


A,5H 


(SET FOR TMLOOP 




00920 


TMLOnp 


PUSH 


AF 


(SAVE A CTR FOR TIME DLY 




00930 




CALL 


60H 


(CALL TIME DELAY ROUTINE 




00940 




POP 


AF 


(GET A BACK AND 




00950 




DEC 


A 


( DEC LO^P CTR 




00960 




CP 





(IS A ZERO YET? 




00970 




JP 


NZ- TML0*1P 


(GO BACK IF NOT DONE 




00980 




CALL 


CLEAR 


;CLS 




00990 




LD 


HT.,MESS7 


(PRINT DO YOU WANT TTME 




01000 




CALL 


21 BH 


; DELAY MESS? 




01010 


QTD 


CALL 


49H 


(QUESTION FOR TTME DELAY 




01020 




CP 


■ yl 


IP NO — CONTINUE 




01030 




JR 


Z. DLYARM 


(DO TTME DELAY 




01040 




CP 


•N 1 


(CONTINUE IF NO 




01050 




JR 


NZ-QTD 


(RE-SCAN KEYBD 




01060 


ARH 


LD 


HT,, BYPASS 


(GET TIME DLY C0NTRL BYT* 




01070 




SET 


0r(HL) 


(SET TO BYPASS ENTR DELAY 




01080 




JR 


ARMIT 


(SKIP TIME DELAY SETUP 




01090 


DLYARM 


LD 


HI, BYPASS 


(GET TTME DLY CONTRL BYTE 




01100 




SET 


lr(HL) 


(SET FOR ENTRANCE DELAY 




01110 




LD 


Hi, TIMER 


(GET EXIT DELAY VALUE 




01120 




LD 


(HL) rDORDLY 


; 2 NIN DOOR EXIT DELAY 




01130 
01140 
01150 
01160 
01170 


1 






AND 30 SEC ENTR DELAY 




; PATCH 


ALARM 


PROGRAM TO CLK 






ARMTT 


LD 


A,0C3H 


(PATCH JUMP INSTR TO CLK 




01180 




DI 




(DISABLE INTERRUPTS 




01190 




LD 


(BURG) ,A 


(1ST PART OF JUMP INSTR. 




01200 




LD 


HT., CONECT 


(GET JUMP ADDRESS IN ALRM 




01210 




LD 


(BURG1) ,HL 


(LOAD TO CLK ALARM JUMP 




01220 




XOR 


A 


(ARM THE 




01230 




LD 


(ALMPLG) ,A 


( BURGLER SYS 




01240 




CALL 


BUSON 


(TURN ON INTERNAL BUS 




01250 




IN 


A,(2H) 


(GET AND STORE 




01260 




vLD 


(MASK1) ,A 


{ PO"T 2 MASK 




01270 




IN 


A, OB) 


(GET AND STORE 




01280 




LD 


(MASK2) ,A 


1 PORT 3 MASK 




■ 1290 




CALL 


BUS0PF 


(TURN OFF INTERNAL BUS 




01300 




CALL 


CLEAR 


;CLR SCREEN 




01310 




LD 


H'-,MESS3 


(PRINT SYSTEM 




01320 




CALL 


21 BH 


( ACTIVATED MESSAGE 




01330 




EI 




(ENABLE INTERRUPTS 




01340 
01350 
01360 
01370 
01380 




JP 


BASIC 


(JUMP TO BASIC 




; SECTION SCANNED BY CLK ONCE A SECOND 




CONECT 


LD 


HT.,3C3FH 


(GET SCREEN LOC FOR '*' 




01390 




LD 


A, (SWITCH) 


(GET SWAP CONTROL BYTE 




01400 




CPL 




(COMPLIMENT VALUE 




01410 




LD 


(SWITCH) ,A 


(STORE VALUE BACK 




01420 




CP 


■ 


(IS IT ZERO? 




01430 




JR 


Z. ASTRIK 


(SKIP IF ZERO 




01440 




LD 


(HL).' ■ 


(PUT BLANK TO SCREEN 




01450 




JR 


ASTRIK+2 


(SKIP 




01460 


ASTRIK 


LD 


(HL) .'*■ 


(PUT '•' TO SCREEN 




01470 




LD 


HI., BYPASS 


(GET TTME DELAY BYTE 




01480 




BIT 


1,(HL) 


(IS IT SET FOR DELAY? 




01490 




JP 


NZ -TMEOUT 


(GO TO COUNTDWN ROUTINE 




01500 




LD 


HI., ALMPLG 


(GET ALARM CONTROL WORD 




01510 




BIT 


5,(HL) 


(SET FOR SIREN? 




01520 




JR 


NZ- TMEOUT 


J DO 30 SEC OFF INTERVAL 




01530 




BIT 


6,(HL) 


(IS MAIN SIREN ON? 




01540 




JR 


NZ.CNTDWN 


(GO AND COUNT DWN ON TIME 




01550 




BIT 


4,(HL) 


(SET TO ALTERNATE SONA 




01560 




JR 


NZ.T30SEC 


(BEEP SONA FOR 30 SEC 




01570 




BIT 


3,(HL) 


(SET TO BYPASS ALARM SCAN 




01580 




JR 


NZ.SKIP 


( UNTTL SIREN CYCLE DONE 




01590 




CALL 


ACTSCN 


(SCAN PORT 2 FOR ALARMS 




01600 




CALL 


CHECK 


(ARE THERE ANY ALARMS? 




01610 




CALL 


SECT2 


(SCAN PORT 3 FOR ALARMS 




01620 




CALL 


CHECK 


(ARE THERE ANY ALARMS? 




01630 




LO 


H'-, ALMPLG 


,-GET ALARM CONTROL BYTE 


t isting 1 continued 



156 • 80 Micro, December 1983 



Lining 2 continued 








01640 


BIT 


3,(HL) 


;WILL BE SET ON ALRH COND 


01650 


JP 


Z-TOCLK 


j JUMP BACK TO CLK 


01660 SKIP 


BIT 


7,(BL) 


j IS ENTRANCE TIME DLY SET 


01670 


JR 


NZ T30SEC 


jDONT TURN ON SIREN YET 


01680 NODLAY 


CALL 


BUSON 


j TURN ON INTERNAL BUS 


01690 


LD 


A f 16 


; VALUE FOR SIREN 


01700 


OUT 


(1H) ,A 


;TURN ON SIREN 


01710 


CALL 


BUSOPP 


j SHUT OFF INTERNAL BUS 


0172* 


LD 


HI., ALMFLG 


; GET ALARM CONTROL BYTE 


01730 


SET 


6 r (HL) 


;SET TO FLAG SIREN ON THE 


01740 


LD 


HI., TIMER 


/GET TIME CONTROL WORD 


01750 


LD 


(HL) .SIREN 


; LOAD SIRKN WAILING TIME 


017*0 


JR 


CNTDWN 


;GO AND DEC TIME UNT1L-0 


01770 T30SEC 


LD 


HT, TIMER 


/GET TIME CONTROL WORD 


01780 


XOR 


A 


/CLR A FOR COMPARE 


01790 


DEC 


(HL) 


;DEC ENTRANCE DLY 30 SEC 


01800 


CP 


(HL) 


{TEST HL FOR ZERO 


0181" 


JR 


Z. NODLAY 


;TIME DONE-TURN ON SIR*N 


01820 


LD 


HI, ALMFLG 


;GET CONTROL BYTE 


01830 


SET 


*, (ML) 


/SET TO TURN ON SOMA 


01840 


BIT 


1,(HL) 


/BIT USED TO SWITCH 


01850 


JR 


NZ.SWAP 


/ SONA (ON-OFF) TO ALERT 


01860 


SET 


1,(HL) 


j USER TO SHUT SYSTEM 


01870 


JR 


OUTSON 


; OFF UPON ENTRY 


01880 SWAP 


RES 


l.(HL) 


; RESET ALT FLAG 


01890 OUTSON 


CALL 


BUSON 


;TURN ON INTERNAL BUS 


01900 


LD 


A, 32 


j VALUE TO TURN ON SONA 


0191" 


OUT 


<1H) ,A 


/TURN ON OR OPF SOMA 


01920 


CALL 


BUSOFF 


;TURN OFF INTERNAL BUS 


01930 


JP 


TOCLK 


/JUMP TO CLK PROGRAM 


01940 CNTDWN 


LD 


Hi, TIMER 


;COUNTDWN SECTION TIMER 


01950 


XOR 


A 


;CLR A FOR COMPARE 


01960 


DEC 


(HL) 


j DEC TIME DELAY 


01970 


CP 


(HL) 


,TEST FOR ZERO 


01980 


JP 


NZ. TOCLK 


;SKIP IF NOT ZERO TO CLK 


01990 


CALL 


BUSON 


;TURN ON INTERNAL BUS 


02000 


LD 


A, 16 




02010 


OUT 


(1H) ,A 


;TURN OFF SIREN 


02020 


CALL 


BUSOFF 


;TURN OFF INTERNAL BUS 


02030 


LD 


HI, ALMFLG 


1 SET-UP FOR OFF INTERVAL 


02040 


SET 


5,(HL) 


;SET POR SIREN OFF TIME 


02050 


LD 


HI-, TIMER 


j GET TIMER CONTROL WORD 


02060 


LD 


(HL) ,ENTDLY 


;31 SEC PAUSE BWTN CVCLE 


02070 TMEfXJT 


LD 


H' .TIMER 


; PAUSE INTERVAL ROUTINE 


02080 


XOR 


A 


;CLR A FOR ZERO COMPARE 


02090 


DEC 


(HL) 


;DEC TIME 


02100 


CP 


(HL) 


;TEST FOR ZERO 


02110 


JP 


NZ. TOCLK 


;GO IF TIME LEFT 


02120 


XOR 


A 


;CLR A 


02130 


LD 


(ALMFLG) .A 


/CLR CONTROL WORD 


02140 


LD 


HT, BYPASS 


; AND GO FOR NEW CYCLE 


02150 


RES 


1,(HL) 


/DISABLE ENTRANCE DELAY 


02160 


JP 


TOCLK 


/RETURN TO CLK PROGRAM 


02180 / ALARM SCAN SECTTON 




02200 SECT1 


CALL 


CLEAR 


/CLR SCREEN 


02210 


LD 


Ht,MESS5 




02220 


CALL 


21BH 


/PRINT ALARM STATUS NESS 


02230 ACTSCN 


LD 


A.IHASKl) 


/GET MASK FOR ALARMS THAT 


02240 


LD 


B,A 


/ HAVE BEEN DEACTIVATED 


02250 


CALL 


BUSON 


/TURN ON INTERNAL BUS 


02260 


IN 


A,(2H) 


/READ PORT 2 FOR ALARMS 


02270 


CALL 


BUSOFF 


/TURN OFF INTERNAL BUS 


02280 


LD 


HL.MTBLE1 


/GET START OF PORT 2 MESS 


02290 


LD 


(MTBLE) ,HL 


/ TBLE t SAVE LOCATION 


02300 


RET 






02310 SECT2 


LD 


A,(MASK2) 


/GET MASK FOR ALARMS THAT 


02320 


LD 


B,A 


/ HAVE BEEN DEACTIVATED 


02330 


CALL 


BUSON 


/TURN ON INTERNAL BUS 


02340 


IN 


A,(3H) 


/READ PORT 3 FOR ALARMS 


02350 


CALL 


BUSOFF 


/TURN OF INTERNAL BUS 


02360 


LD 


HI ,HTBLE2 


/GET START OP PO"T 3 HESS 


02370 


LD 


(MTBLE) .HL 


/ TBLE t SAVE LOCATION 


02380 


RET 






02390 CHECK 


XOR 


B 


/MASK OUT DEACT. ALARMS 


02400 


JR 


Z . RETURN 


/ZERO MEANS NO ALARMS 


02410 


LD 


HI .ALMFLG 


/GET ALARM CONTROL WORD 


02420 


SET 


3,(HL) 


/SET TO BYPASS SECT CALLS 


02430 


C 


1 


/ALARM AT FRONT DOOR? 


02440 


JR 


Z.EE 


/ZERO - IS YES THERE IS 


02450 


CP 


2 


/ALARM AT GARAGE-HSE ENT7 


02460 


JR 


NZ.DD 


/ZERO - IS YES THERE IS 


02470 EE 


LD 


HI., BYPASS 


/GET TIME DLY CONTL BYTE 


02480 


BIT 


0,(HL) 


/IS 30 SEC TIME DLY SET? 


02490 


JR 


NZ-DD 


/SKIP IF YES 


• 2500 


PUSH 


AF 


/SAVE ALARM BITS 


02510 


LD 


HI .ALMFLG 


/GET ALARM CONTROL BYTE 


02520 


SET 


7,(HL) 


/SET POR ENTR DELY 30 SEC 


02S30 


LD 


A,ENTDLY 


/LOAD ENTRANCE DELAY TIME 


02540 


LD 


(TIMER) .A 


/ TO TTME CONTROL BYT* 


02550 


POP 


Kt 


/RESTORE ALARM BITS 


02560 DD 


LD 


B.A 


/SAVE BIT PATTERN 


02570 CI 


LD 


D.0 


/CLR D REGISTER 


02580 


BIT 


0.B 


/IS BIT SET FOR ALARM? 


02590 


JR 


Z. SHIFT 


/SKIP IF NOT AND TEST AGN 


02600 


LD 


HI .(MTBLE) 


/GET CURRENT TABLE ADORES 


02610 


LD 


A.(SHFCTR) 


/GET MESSAGE CTR OR INDEX 


02620 


LD 


E,A 


/STORE INDEX INTO E 


02630 


AD" 


HI..DE 


/GET APPROPRIATE MESS 


02640 


LD 


E,(HL) 


/GET LSB LOCATION OF NESS 


0265" 


INC 


HI. 


/INC PTR TO MSB LOCATION 


02660 


LD 


D,(HL) 


/GET MSB LOCATION OP MESS 


02670 


EX 


DE.HL 


/PUT MESS LOCATION TO BL 

Listing 2 continued 



FOR TRS-80 MODELS 1 , 3 A 4 
IBM PC, XT, AND COMPAQ 



The MMSFORTH 

System. 

Compare. 

• The speed, compactness and 
extensibility of the 
MMSFORTH total software 
environment, optimized for 
the popular IBM PC and 
TRS-80Modelsl,3and4. 

» An integrated system of 
sophisticated application 
programs: word processing, 
database management, 
communications, general 
ledger and more, all with 
powerful capabilities, sur- 
prising speed and ease of use. 

» With source code, for custom 
modifications by you or MMS. 

• The famous MMS support, 
including detailed manuals 
and examples, telephone tips, 
additional programs and 
inexpensive program updates. 
User Groups worldwide, the 
MMSFORTH Newsletter, 
Forth-related books, work- 
shops and professional 
consulting. 




FORTH 



A World of 
Difference! 

Personal licensing for TRS-80: 
$129.95 for MMSFORTH, or 
"3+4TH" User System with 
FORTHWRITE. DATA- 
HANDLER and FORTHCOM 
for $399.95. 

Personal licensing for IBM 
PC: $249.95 for MMSFORTH, 
or enhanced "3+4TH" User 
System with FORTHWRITE. 
DATAHANDLER-PLUS and 
FORTHCOM for $549.95. 

Corporate Site License Exten- 
sions from $1 ,000. 



If you recognize the difference 
and want to profit from it, ask us 
or your dealer about the world 
of MMSFORTH. 

MILLER MICROCOMPUTER SERVICES 

81 Laka Short Road, Natick, MA 01760 

(61 7) 653-61 36 



50 Micro. December 1983 • 157 



Listing 2 continued 














32680 




CALL 


21 BH 






PRINT ALARM MESSAGE 




02690 


SHIFT 


LD 


A, (SHFCTR) 






GET MESSAGE CTR AND INC 




82700 




ACT: 


A, 2 






CTR FOR NEXT MESS LOC 




02710 




CP 


IK 






ALL 8 MESS BEEN PRNTED? 




9272B 




JR 


Z.PRFTRN 






RETURN IF YES 




02730 




LD 


(SHFCTR) ,A 






SAVE NEW INDEX 1 




02740 




RR 


B 






SHIFT B RIGHT 1 BIT 




0275" 




JR 


CI 






GO TEST NEW BIT FOR ALRM 




02760 


PRfTRN 


XOR 


A 






PORT HAS BEEN SCANNED 




02770 




LD 


(SHFCTR) .A 






CLR FOR NEXT PO°T CHECK 




02780 


RETURN 


RET 








RETURN FROM CALL 




02790 














0280A 


; SECRP 


T CODE 


ROUTINE TO ACT. 


OR DEACT ALARM PROGRAM 




0281C 
02820 
02830 






CODE « 


MOM 




CODE 


DEC 


B 




;DEC CTR AND T^ST FOR 




02840 




LD 


A,B 






ONLY THREE TRIES TO 




02850 




CP 









GET CODE CORRECT 




02860 




JR 


Z.BAIL 






CODE ERROR... EXIT PROG 




02870 




CALL 


49H 






SCAN KEYBD FOR CODE 




02880 




CP 


'M' 






IS FIRST CHARCT. A 'M' 




02890 




JR 


NX, CODE 






RE-SCAN KEYBD IF NOT 




02900 




CALL 


49H 






SCAN KEYBD 




02910 




CP 


•0' 






IS 2ND CHARCT. A '0' 




02920 




JR 


NZ -CODE 






RE-SCAN KEYBD IF NOT 




02930 




CALL 


49H 






SCAN KEYBD 




02940 




CP 


'M* 






IS LAST CHARCT. A 'M' 




02950 




JR 


NZ.CODE 






DEC B RFC AND BAIL OUT 




02960 
02970 
02980 
02990 
03000 




RF.T 










; ROUTINE TO 


PRINT CODE ERROR 


4 JUMP TO BASIC 




BAIL 


CALL 


CLE»R 




;CLR SCREEN 




03010 




LD 


HI, ERROR 








03020 




CALL 


21BH 




; PRINT CODE ERROR MESS 




03030 
03040 

03050 
03060 
03070 




JP 


BASIC 




;JUMP TO BASIC 




; ROUTINE TO 


TURN INTERNAL 


BUS ON 




BUSON 


PUSH 


AF 




;SAVE A REG AND FLAGS 




030B0 




LD 


A, 16 








03090 




OUT 


(0ECH) ,A 




; ENABLE INTERNAL BUS 




03100 




POP 


AF 




.•RESTORE A REG AND FLAGS 




03110 
03120 
03130 
03140 
03150 




RFT 










; ROUTINE TO 


TURN INTERNAL 


BUS OFF 




BUSOFF 


PUSH 


AF 




;SAVE A RFG AND FLAGS 




03160 




XOR 


A 








03170 




OUT 


(0ECH) ,A 




;TURN OFF INTERNAL BUS 




03180 




POP 


AF 




;RETORE A REG AND FLAGS 




03190 
03200 
03210 
03220 
03230 




RET 










; TIME DELAY 


USED TO ALLOW RELAYS TTME TO SWITCH 




DLY 


LD 


BC4FFFH 




; VALUE USED FOR CNT DWN 




03240 




CALL 


60H 






■CALL TIME DLY 




03250 




IN 


A, (1H) 






■READ RELAYS 




03266 




CPL 








■COMPLIMENT VALUE 




03270 




AND 


30H 






■MASK FOR ALARM RELAYS 




03280 




CP 









ARE THEY OFF? 




03290 
03300 




RfT 






















03310 

03320 


; VARIABLES 




















03330 


ALMFLG 


DEFB 









ALARM SYSTEM CONTRL BYTE 




03340 


ALSTAT 


DEFB 









BURGLER ALARM STATUS 




03350 


B*PAS<: 


DEFB 









TI*E DELAY CONTROL BYTE 




03360 


MASK1 


DEFB 









SAVES PORT 2 DEACT ALRMS 




03370 


MASK 2 


DEFB 









SAVES PORT 3 DEACT ALRMS 




03380 


MTBLE 


DEFW 









TABLE INDEX PTR. 




03390 


SHFCTR 


DEFB 









USED FOR MESS TBLE INDEX 




03400 


SWITCH 


DEFB 









USED TO BLINK ■*■ 




03410 
03420 
0343H 
03440 
03450 


TIMER 


DEFB 









TIME DELAY CONTROL WORD 




MAIN MESSAGE TABLE 








MESS1 


DEFM 


'THIS IS THE 


BURGLER ALARM PROGRAM' 




03460 




DEFW 


0D0AH 








03470 


MESS2 


DEFM 


'THE ALARM 


SYSTEM IS * DEACTIVATED *' 




03480 




DEFB 


0DH 








03490 


MESS3 


DEFM 


'THE ALARM 


SYSTEM IS ** ACTIVATED *•' 




03500 




DEFB 


IDS 








03510 


MESS4 


DEFM 


'ENTER (CODE 


WORD) TO PUT SYSTEM IN ' 




03520 




DEFM 


'OPPOSITE STATE' 




03530 




DEFW 


0A0AH 








03540 




DEFM 


• 


• 


OFF-ON OR ON-OFF**' 




03550 




DEFB 


0DH 








03560 


MESS5 


DEFB 


0AH 








03570 




DEFM 


'THESE ITEMS 


ARE IN ALARM CONDITION ' 




03580 




DEFM 


'CLO*=E NEEDEC 


POINTS' 




03590 




DEFB 


0AH 








03600 




DEFM 


'R « TO RF.CHECK C = CONTINUE PROGRAM' 




03610 




DEFB 


0DH 








03620 


MESS6 


DEFM 


■•••• TAKE 


NOTE — ITEMS ABOVE ARE DE- ' 




03630 




DEFM 


'ACTIVATED 


*« 


* • > 




03M0 




DEFB 


0DH 








03650 


MESS7 


DEFB 


BAH 








03660 




DEFM 


'DO YOU NEED 


TIME DELAYS OF *2 MINUTES ' 




03*70 




DEFM 


' LEAVING 


AND 30 SECONDS 




03680 




DEFM 


'ENTERING* 


ON THE ENTRANCE DOORS? Y/N' 




03690 




DEFB 


0DH 








0370H 


ERROR 


DEFB 


BAH 








03710 




DEFM 


' — CODE WORD- 


-ENTRY ERROR.. PROGRAM ' 




03720 




DEFM 


'EXITEDI ' 








03730 




DEFB 


0DH 








03740 


ALMFLT 


DEFM 


'RELAY FAULT- 


— SIRFN 0" SONA ILLEGALY ON' 














Luting 2 continued 



Continued from p. 153 

zone and time entries. When it com- 
pletes this mode, the program patches 
the Auto mode back in for a continued 
time scan. The Exit command leaves the 
program and jumps back to Basic. 

This program also checks for relay 
failures and uses Port 4, bit 2 to sound a 
buzzer if a failure occurs. Upon entry to 
the program, it indicates the status of 
the system and the zone that is currently 
running if applicable. It displays a mes- 
sage giving you the option to deactivate 
the system or exit back to Basic. There is 
a l'/2 -minute delay between each zone 
that allows time for water pressure to 
stabilize. 

CMDTABL Program 

Program Listing 4 lets you patch cus- 
tom commands to the Basic command 
table. Presently, 1 include only two 
commands — Sprink and Alarm. When 
you enter either of these two commands 
under Basic, the specified program 
runs. If you add more commands to the 
table, insert them in order but keep 
them between the ENDTBL label. This 
label automatically computes the length 
of the command table for scanning pur- 
poses. 

Execute this program with a /29024. 
The set-up section patches the main 
body of this program to the Basic com- 
mand table. Upon execution, two more 
commands are added to the system. 
This program runs anywhere in memo- 
ry by changing the ORG statement. 

Conclusion 

You should now have a Port I/O 
board with relays to control the real 
world, and hopefully an understanding 
of how to control the port board and its 
functions. You should have enough in- 
formation to expand in regard to port 
I/O control. The sprinkler and burglar 
alarm systems provide a couple of good 
applications to real-world control. 

The amount of control applications 
available are virtually unlimited. 
CMDTBL opens a door to custom users 
for designing your own Basic com- 
mands and applications. You should 
learn a lot about your Model III and 
computers in general by putting togeth- 
er this system, as interfacing and con- 
trolling real world applications involve 
many aspects of your micro. 

For a 16K System 

As shown, the burglar alarm and 
sprinkler system don't assemble on a 
16K RAM system since they include so 
many comments and banners. I made 



168 • 80 Micro, December 1983 



Listing 2 continued 




03">S0 DEPB 0DH 








83770 ; POBT 2 ALARM MESSAGE TABLE 








03790 MTBLE1 DEFW A0 ,-GIVES LOC FOR PO»T 2 




83 800 DEFW Al ; ALARM MESSAGES 




03810 DEFW A2 




03820 DEFW A3 




03830 DEFW A4 




03840 DEFW AS 




03850 DEFW A6 




03860 DEFW A7 








03880 ; PORT 3 ALARM MESSAGE T&BLE 








03900 MTBLE2 DEFW B0 ,-GIVES LOC FOR PO"T 3 




03910 DEFW Bl ; ALARM MESSAGES 




03920 DEFW B2 




0393" DEFW B3 




03940 DEFW B4 




03950 DEFW B5 




03960 DEFW B6 




03 97 DEFW B7 








03 990 ; PORT 2 ALARM MESSAGES 








04010 A0 DEFM 'FRONT DOOR' ;•• NOTE **.. A0 




04020 DEFB 0DH 


AND Al MUST BE 




04030 Al DEFM "GARAGE DOOR" 


USED AS ENTR 




04040 DEFB 0DH 


DLY INPUTS 




04050 A2 DEFM 'FAMILY ROOM* 




04060 DEFB 0DH 




04070 A3 DEFM 'SLIDING DOORS' 




04080 DEFB 0DH 




04090 A4 DEFM 'KITCHEN WINDOW' 




04100 DEFB 0DH 




04110 A5 DEFM 'DINNING OR LIVING ROOM WINDOW' 




04120 DEFB 0DH 




04130 A6 DEFM 'SEWING ROOM' 




04140 DEFB 0DH 




04150 A7 DEFM 'A BATHROOM WINDOW' 




04160 DEFB 0DH 




04170 B0 DEFM 'MASTER BEDROOM' 




4180 DEFB 0DH 




04190 Bl DEFM 'BEDROOM 41 WINDOW' 




li~dd DEFB 0DH 




04210 B2 DEFM 'BEDROOM »2 WINDOW' 




04'20 DEFB BDH 




04230 B3 DEFM 'BASEMENT WINDOW' 




04'40 DEFB 0DH 




04250 B4 DEFM 'CAR 11 GARAGE DOOR' ;NOTE: I HAVE TWO 




34260 DEFB 0DH 




427 B5 DEFM 'CAR 12 GARAGE DOOR' 




042 80 DEFB 0DH 




04290 B6 DEFM 'WATER LEAK IN BASEMENT' ; SENSE LEAKS 




04300 DEFB 0DH 




04310 B7 DEFM 'PANIC BUTTON' ;FOR EMERGENCY 




04320 DEFB 0DH 




04330 END ALARM 




the listings easy to follow so you can Contact David L. Engelhard t 


at 


assemble them on a 16K RAM system 10221 W. 101 St. Place, Broomfield, 


without the comments and banners. ■ CO 80020. 





TRSSO color 

From the January 1981 issue o« the CSRA Computer 
Club newsletter 

There was some amusement at trie Novem 
ber meeting when the Radio Shack repre- 
sentatives stated that the software in the , 
ROM cartridges could not be copied This 
month's 68 Micro Journal reported they had 
disassembled the programs on ROM by 
covering some of the connector pins with 
tape They promise details next month Never 
tell a hobbyist something can t be done' This 
magazine seems to be the only source so tar 
of technical informations on the TRS-8C color 
compuler ' Devoted to SS-50 6800 and 
6809 machines up to now 68 Micro Journal <. 
plans to include the TRS-80 6809 unit in / 
-future issues _^ /-x^^ 

To get the MOST from your 6809 CPU This is tie 
BEST SOURCE' The ONLY Magazine lor the 8609 
Computer Months Ahead of An Others' 

68 MICRO JOURNAL 

5900 Cassandra Smith Rd. 
Hixson. TN 37343 

USA 

l r- -S24 50 2 Y- -142 50 JVl -S64 50 

•Foreign Surlacv Aaa »I2 Yr lo USA Price 

Foreign Air Mail Ado $35 Yr 10 USA Price 

•Canada 4 Menco Aaa J5 50 Yr to USA Price **' 




.ctuai »i«* 



The Banner Machine 

For the TRS-80 I & JII with 32K tape or 48K disk 
For use on the Epson MX-80 with Graftrax 
Uses dot graphics instead of TRS-80 block graphics 
Menu-dnven program 
Operation similar to a word processor 
Makes signs up to 10" tall by any length 
10 sizes of letters from ".V'-S" high 
Mono or proportional spacing 
Automatic centering; Right and left lustifying 
Makes borders of variable width up to J '«" 
Order The Banner Machine — $49. 9S from 

Virginia Micro Systems s^iB 

13646 Jeff Davis Highway mmmm 

Woodbndge. Virginia 22191 




Phone (703) 491-6502 



Atfi 



esottfk 



USCF rated 

1793/5* 



SFINKS 4.0 

with user friendly features 

Second Kissimmee Open Rd 2 
White: Sfinks 4.0 Black: Human 1830 



While Black 

1. e2-e4 c7-c5 

2. g1-f3 d7-d6 

3. d2-d4 c5-d4 

4. M-b5+ c8-d7 

5. b5-d7* d&-d7 

6. f3-d4 g8-f6 

7. b1-c3 

8. e1-g1 

9. c1-e3 

10. d1-d3 

11. c3-d5 

12. d5-b6 

13. b6-a8 

14. f2-(3 

15. f1-d1 

16. c2-c3 



g7-g6 
f8-g7 
e8-g8 

a7-a6 

b7-b57 

d7-b7 

b7-a8 

b8-d7 

f&-c8 

a8-b7 



White 

17. d4-e2 

18. d3-c2 

19. e3-f2 

20. c2-b3 

21. d1-d4! 

22. c3-b4 

23. a1-d! 

24. C1-C8* 

25. b3-c4 

26. c4-b4 

27. b4-b8* 

28. d4-c4 

29. b8-a8 

30. C4-C8 

31. a2-a4 

32. c8-d8! 



Black 

d7-e5 
e5-c4 
b5-b4 
a6-a5 
b7-b5 
a5-b4 
c4-b6 
b6-c8 
b5-d7 
c8-a7 
(6-e8 
a7-c6 
c6-e5 
g8-f8 
e5-d3 
resigns 




%■£■ 



MMM 



abcdefgh 



8FINK8 4.0 CHESS, 48 K, disk 
only. Only $49.95. Please specify 
Model I, III or IV. 

SFINKS 3.0 CHESS, 32K, disk or 
tape. Only $34.95. Please specify 
Model I (E.I.), III or IV. 

SFINKS CHESS TUTOR, 32K disk 
only. Only $19.95. Please specify 
Model I, III or IV. 

To order, please see your dealer or 
send check plus $2.00 shipping to: 

WILLIAM FINK 

Suite 24-B, 1105 N. Main St. 

Gainesville, FL 32801 

or call (904) 377-4847 



cs 



-226 



Florida residents add 5% sales tax. 
"On Model 3 w/speedup by Holmes Eng. 



^ See List ol Advertisers on Page 291 



80 Micro, December 1983 • 159 



3 Q 

z m 
to >• 

X U 



z z 

M < 

CC O 

ft CO 





< w 






H < 




ft I/) 




3 CO 


i-jX 



g£ 




< ii 




toS 














"fc 


ft. E- ftl 


to < <S 


tf-s 










CO 








UP<< 


Z ft 




< Id J 


CC p « 


a. co u 


ft >-J « 



-:s: 



X Ei (0 
■J HH 
CJ CO X 



i X x X 

OZOi 
I X3 

os •* 

O X P 

KUS 

iff a 
I z to c 
O Sh w 
: o co 
i u 

i E-i E-< X 

: to u < 

i U> CO X 



XX < 3 M « 

•■tD X- X- < - bS - CO 



a < < a. a o ec o oc a. a. « 



CO « 

p «o • 

(•OKU U • 

< Z « X I M • 
ft, 3 U »C0 CO • 
3 O iJ >-' «- < « 

<iouxna« 



!:n 



a. — 
ft. J 

10 x 



3 - »oc • 



:fc: 



<d« _1 J J 

e-i « j j j j « « j 

io « < < < a < o.« u « < a u a. • 

>i« U U CJ -J O "~i « Z * U J0]i3« 



« 3 * 

« o« 
« ■ * M 



gu as 
3U 



ft M 

U ft] J 

u to u 



bl « 

■s a 

ftl * ft. I 

a « k— < 

0« ft JKI 

x * mx< ; 
« — ea 

J« ►: -j ■ 

ft] « i>4u: 

3* 
x * 

<« 

«: j 

ft] « hJ 

t> « qu< 

< « JUU 

>« 

M « 
t- « 

u « 

<« 



I0KDIJ X 






B a 


O 10 ftl > N 


x 


M X 

3 O H J 
X X £< p >-« C- < 
HO HUHD 


^tf 


0) 


«« 


X fti • COS W 


to < J J 




(0 




O s« O < ft. 










H H b] ft ftl 




ZZZKhEci 


a n z 








ftcofttococjcotoww 



IX X o 

i -co a x m x 



as » 
X~ 
to o 

Z J 
MO 
N X 
• N 




w>8 

J J CO ft] 
OOUt-K 
as as X W U 

B H «4 CO 
Z Z CO 

pox xp 

H ft. 
ft) U ftl 

UDHP9 
II ZOJ 

hmO»< 

OS 1 N ft] > 



88; 



i xx; 

m Si 



3 X < CO 

< x P 2 

> J 

ft. CO X 

M O CO ft. ft] 

M ■ W ■ 

o co J as 

to z « u 

< K U 3 CO 

Eh CQ Z 

Pi MX 

M Id E- H < 

e> CO z w 

< 3 O J 

to to se u u 



co H 
(OX 

CO ftl CO 

X X 

u •-• 

XX H 

o»- 



MflO 
X ftl CO 

1-1 OS X 



M < 

«QO 
0. O CO 



as« 

o» 

OS « 

tt « 



I J J „1 . 

I J J J CO CO 

:a<<<«30 asqsft- . . 

I JUOUJMU1 JOIT M . 



3 « 
ft. • 



CO 

iSilx £ t ?S- 

. ». j. < j« z5 x x ft « x x 

h .co « 2« -aixxco x x x co ft« »eo x 

Uxnu< * i<nnN»nn- «IUI«o« 
« ft] • 



j * • J J J J J ,i j -j 

►j «a* jjjjja co j j _ J 

i < ft « ftl« oo<<<<<PQ- > i>i<q<»< 

* H « 



< < as ~ ~ -ft! - 

& ai « aaaasavaasavaaaB ca « aaassnas 

r^^.r^r^r^r^f^aaflocococoa>cocoGDco9i9totcno\criEy\cyicniyiBav 
9SQBs&^siBs^(sc43ssisnnaitBia>~ ~ 

ssnssosssSBSSSSSsasiis 



« at at • • i 
at at v at at i 



maaaasiaaaaaa 

!«*baHNrn«in^r^(0Aa 

l»rtHHHHHrtrtHHN 



a&afiassaaaaaavaaavKaaaaaaa 



« x « a. * 

« *h a m a q 

■a — m h — -a 

aaaaaa sttassaa 
rtr*m«i«<* r-«ooiat»-if>irt 
NNNnriN CNCNrc*^^>r>i^ 

aaaaa s« sssa« 



otMOiatatatat<siatataiat 
^in«ar>a>o\at^i<Nr*>Hrm 

rH.-<i-<rt<-«<-«<HrH^H»H*H*H 

aaaaaaaaQsss 



• X u 
CO o 

: co a; x 

1 Z ft. O 



i z o 

I wos 
: to &, 



> j < 

l W 3 



bl 
Z Z Q 

ft] w u 

to < z 

gft M 
CO < 

ft] o f 

CO CO 
CO o 

U X 
S 3 Z 
MOM 
(- X * 



X W X 

O ft 

to H bl 

s« a 

U) CO u 

■ 

X bS bS X p 

O Z J J H 
MHUU 

X bS 

ftl ft p c u 

iioPS< 

•H CO 

(•ais, 

E< << 5 
ft ft ft r> 



K ft) < 

fJf 
>< CO CO 

CO < 

z K * 
to j to to 

UO |H 

x« x co 

U H K >h 

COX H to 

O HI 

SU X c 
.HP 

CO Eh 

J CO CQ Q 

t> U M O 



















CO U 


CO 










Ul ftl 


E 










10 






X 


H 


to o 






CI 














fig 










M 










z 


(r> (0 








CO 


z 


co sc 




-*« 


a 


Q 


3 


>• 




¥£ 






CO z 






E 








ys 


3 
















f. UJ 












X^ 


*H 


W 


X 




w « 














X ft 




X ft 




»; 


X ft 














U X 


03 3 


to bs 


X 


X 


X3 


1H CO 






ft 







X CO 
to >. 
HU 
cObS 



xs 
ft •->* 



as to 

to J 
H bi 



3 bS 

4 z 

< M«V 

> os ft. 
ft ft to 



31 ft. 
E^° 

CO c 

>>E<u) 



J to< 

. . CO >. J 

Z Z E-. 0] O CO OS < so 

M M X X J X 

M ft] as bi ft. CO 

ft X ft 



h* L> 10 

tOM E" 

CQ X 

wl (0 

co ft 



I >H ft X M O 



_i O ft 
x -a ih 

3 a k 

E- < CO 



•o 



« CO* X 

■ XX X XB XXBX«OS«Xft 

■ •oa« uiei <or-<ea>«M«<co 

■ QHad u cj at on at at at « x* x^* 
■ a. ft ft a. * • J «• 
ir-M»r-« w* u < at 

« En « 



•Hb<uftatftft< 



FHr4>n«in<«r-<eo>ai 



* in « M 
O 3 3 3 3 3 3 3 3 3 S3 3 « « i4 

a x • 

W COM HH « C« bS 
UXHXCQf<XKKCiK« X • X 

5Jjhj5m3<<<5. • ft 
nuoox-xxkxxE - - ~« 

isaaasaaaaaaai 




CO 

X CO ft 

CO CJ ft X 

R— H X X «-" O Q 
XXSh •■CO CO co o> X 
ft • rt J • ,J r- < 3 »i» 



Q < O < ft « 

Ju jut x* 

« D « 

• ft* 



w « J J p 



O OB E»iJ J J J 

X X a X ft X 3<OSQ<ft<Q< 
UHU^UO OOOJO^WJW 



c»fi*i^irn«tr-at0tatiHf , i<n*m»r'OootatFHC*r>*tf>«*r.<ao»aipH<>n*t- 

«totatataiata)*a>a>aiaiatatataiaiatatatatatatatatatatai«>ataa>aii 
atataiatataiataiatatakaiatatatatatatatatataiatatatMataiatatataiaii 



ic aaaaaaa 



i at at at«atatatatatat« 



iv>r~ato\at«-4r4ra^m^r.atosat^Hrii v ) «r in « 
i«««atf]iOioy]iOinininininatt^4 « wwwr^r^r* 
latatatatatatatsvsaaaiaiaiatatatat sasssssss 
tatatatatatatatais^Qisaiatatatakai ssvoacanaaa 



160 • 90 Micro, December 1983 




Its about ENB. 



Southern Software's new relational database 
manager for TRS-80 Model I/III, all DOS. 



ENB is a treat to use, with an integrated data dictio- 
nary to allow totally flexible datastructure (restructure 
without reblocking the database) and data-interde- 
pendencies of any complexity. Variable length fields, 
no record-length constraints, select on any field. 
High-level Basic interface (compatible with ACCEL3/4 
Basic Compiler), plus file exchange with practically 
everything (Scripsit, VisiCalc, more). Holds up to 
64K data items without data redundancy, spans up to 
4 disk drives (or hard disk). 

Special Offer 

Buy ENB before December 31, 1983 and receive 
EDIT full-screen Basic editor ($40 value — you 
must enclose a copy of this ad!). 



Read the reviews . . . 

"ENB is fascinating." 

— Wynne Keller, 80-MICRO, July 1983. 

"ENB has no peer at the present time." 

— Jim Kkproth, 80-US, July 1983. 



■El 



You've seen this ad about ENB. 
Now ENBase your data! 

ENB. $ 140 cjmf 



Scripsit " Radio Shack. VisiCalc - VisiCorp. 



Allen Gekhr Software 



Box 11721 San Francisco. CA 94101 (415) 681-9371 



*■ Sm List ot Advertisers on Page 291 



80 Micro, December 1983 • 161 



*-4 














HH 








a. z < 












8 




fc 


z 




E„ 






*-• 




o: 




« - 


< 03 




* 


H 


























M 




5» 






z 


< 


















5* 


















>> 


OS 


H 








j 




o 




< £6 Z Z 


K 


CO 








fc 














CO 


a 






U 


as o 


o 


UJ 


0. 


(0 Z £0 


>• OS 




> z cj 

Z M M 4-1 

53 h as co 

Cd o o. < 

OS < CO < CO 

u u z 

01 Q X C p 

OS H H 

< Z < 0. a, 

U HHUI 

J KZU3 

u o. n cn •-) 



>os 


53 S 


CO OS 


"•sss 






u»uz 


:$£££ 




K « Z< 
OS OJ 




UOZ3 










zou 






as z <« 
a, u to H 


tO tj O 



c_> « » — 































X < < ~-CN «• M - 






« X • 



< X >> 



:s: 



:g: 



-•-2 



« £ « 

« to « 

« >< « 

« tO * (N 

OS « « ^ 

O « BS « to 

OS « U « U) U 

as « J * a u P 

M« *S« <(!< 

• Z • U -£0 0. 
»H *J N « H4« J .J ~-c 2 

i — a z • as* ux»N3 

• a. * 
« w« 



• o « 

• < • 

« Cd « J 
« Q • < 
« H 



O CJ 
Z II 

?2 

en en 



1^8 



i m « in <o i^ co at ■ p-< <N m « m >o r- a> a> a fH n in « i 



CO OH CB H!N n 



— . <a> 4 

J —10 4 

O u to < < CJ 

X X Z U Z • -fU' 

NSOZXO ~ -»«M. 

-n« »(Bco x <n x 0. to • 



!JJuuioJOU"5> 



«mi«r-c904 0Hr<in«tn«t-co9tC4ii 
ininmi/imin«t0«4c>i640«4o«40M 

(NINtMMMNNlMNriCINNMNNMI 








cc 


< H 




U « 






m as u 








cd < < 


CO CJ < 






2S?£ 


CO CJ H 
Cd 






m J Cd 


Cd Cd Cd 


QUK 


co co as 





















• < - • 








< 








0* ~X\jTi 








- 


~ - < 


< 




O — -H M 




« 






Ssr.: 






* 


* 


























CHhH 


* 


z « 






KU3 


UH>. 




0. < < < 


• 


►- * 






H0.J.Z 








« 






n 


■C0UN 


-CJ -N 






« 
« 


S3 « 
C « 
EC • 

• 








« — < — 






« 


*: 














K « 


< « 


h 


OQQQQQQQQQ 


X 




g: 








V 




• 
« 


- 









ie«SHri4n 




fr- J i 

•-4 Cd | 

CD OS I 



r- > 

CJ CO 



I OS J f- I 

, iv a: < 

h zo a: 

I Z >-4 f- U 

i « as s* C 

I a. I y as 

: cd to u o o. 
j E- J 

CD X UJ U 

< U >< 

CO f- to 

□ a 



co a. < 

< Cd Cd 

Z td J 

Cd CD CJ 



H mx as 

nxa x td< 

XXZ -O5XXC0X- Cd Cd 



CD • 
>- * 

a * 






x « S3 « — 



> t- H 
H CO CD 
CO S- X 

O ee 

HZSX 
« < 

COCvHU 

> co as 
a a < 
a: 4-i c- u 

< St td J 
U CO CO u 



s 

«c < 2 < < i 



CD < —CO 4 

i < m «e < ■ 



Z ■£ < X X X >Ul 

S3»» ^ CO CO WU - t-i 

— J<XJJXJJXXi-3XXJ X CO < X — 4 




K-4 ^»J^d .J « 

<nQQq<2<<a.a:2as« 



< to < < a. c 
toQ.cncoa.<JO< 



<jj2< z« j j x 



_ <<co<<J<<J<< J a. a: o 

.JlOCOCktOCOUCOtOUCOCO UtbXia J 






• as as cd o td . 
td « <-> n to x as • 



3 « Ci. 

0« >-4 



'C4c>iBHnn«in«i 

lC44ACtC4iS«SCtC4l 
IHH(NN44|M™rlMI 



■-4 Id 
CC CO 
C IH 

Si •- 



I <N <N <N CM CM f>* n 



162 • 80 Micro, December 1983 





IT HAD TO GO SOMEWHERE 

There's no reason to deprive you of solid microcomput- 
ing information just because it wouldn't fit between the 
covers of 80 Micro. But even 80, as thick as it is, can hold 
just so much. Here's the answer— The Rest of 80—31 
of the best tutorials and utilities, hand-picked from the 
overflowing files at 80 Micro. These never-before-pub- 
lished articles for the Model I and Model III were just too 
good to let them get away. 

SOMETHING FOR EVERYONE 



Whatever your programming skills. 
The Rest of 80 can help you learn 
more and save time and effort. Here are 
just a few of the chapters you'll find: 
An Unltstable. Unbreakable Program 
Adding Commands to BASIC 
Programming in Tiny Pascal 
Line Drawing 

Automatic Master Disk Directory 
Faster Loading for the Model I 
ASCII Converter 

A Better LDOS KSM 
And more on BASIC, 




Pascal, and assembly language! 
Every program is of the same high qual- 
ity you wait for every month in 80 
Micro. Now try The Rest of 80— a wel- 
come addition to your computer library. 

ISBN 0-88006-062-X. softcover with spiral bind- 
ing. 7x9, approx. 300 pp. BK7392 $9.97 

Call TOLL-FREE 1-800-258-5473 for 

credit card orders. Or mail your order with pay- 
ment or complete credit card information. In- 
clude 8 1 .50 per order for shipping and handl- 
ing. Send to: Wayne Green Inc.. Attn: Book 
Sales, Peterborough. NH 03458. 



A 

WAYNE 

GREEN 

PUBLICATION 



I'D BE LOST Jfcf 

WITHOUT IT! S~± 

Send me copies of 

THE RE8T OF 80. Enclosed is $9.97 ' 

(BK7392) per copy plus $1.50 per order JJiLz 
shipping and handling. 

□ MasterCard Bank * OV1SA DAMEX 

Card * Expires 

Signature 

Name 





33QR8R acrepiaolr (or ordering 



80 Micro, December 1983 • 163 



z 

H W O 




a 
z 

o 






■ 

« a u z h 


« CO 
CO Z 








•-< 










































> co en j < m 












u u 

X o 






0a U p M J HJ H 

co Jh Pf<q><u 

ZE CO < < gzUlOHHH 

<-> x z > x as p*z * to 05 
fri t-i 5 m u * x [■: 3c uh3< 








< < z as 


. 






zgoxcco^QH 
2 ij HHxtuuz 




fr« to 

§ 9 














ci H co H 










►h 5 QX ZpQkH 












*8 






















« «t 




* N 




u 




J O CO 3 < < CO Xj 








►■ 


XKOU 


















u id cu as . a, P c 3 z 


fr< < < cu m a, ■ oxz 
p z a< j j* ai G u 
PS uquJh < as 






o o o o o o 

M Up 


o-i J 
















Stf 


mOKOOO*. >00 OCUJEOl 


























M 










p* 












hOHHUW 


















en o 




MOKt'Uht-af'UKIOJOUM 


1UKOKUnHU0.ua 


« 


JO" 














« 


J • 
















« 
« 


o « 
>- « 
o« 






hh3i<i<K 
co lass! 



cu ►? 



(9 3 1 

u j a x _ 

j E 3 B p 

o < cl, a ~ o £ 3 

z >' • cu cu -J x P x 

ou— owxn— ^ S 

> J »^:x-^P - 



u > n 
X S — Cd 

UZB u < 

OMtZ>> » 
I O CJ — 



.VE 



u o en x x cu . 



3 -»*3 - -l: x - l: fi . n - ,5 3 mjhs^ - - 

B<-BXni-ZI «<J(ZZ»C<~'BZazn« 

J.J J 

j rn j h u o j 

<QD<QUQZQU aDKCUCUOQ<Q 

UJOUJB1JH 3d jjoui-jjjuj 



a <~ 

MS J M » M 

J a. JE — J 

5 CU J 5" OJ > 

~higiJ3u 
J » — o < •— 

X N - « » 0. » 

'<— ZX-»<— <<» 



JC SB So Z •MM>-< 


*" 












HEX JhX COBBM 




CO 


z ««•*-" 53. ir* t" 


E 




co 


s> £ as aa ■ <- p 








SB BB OZUEOaZ 














Pat a*. BS fr" CO S ■ 


I 




3H 
S-* 


TRL 
NKLE 
TING 
ON- 
PAU 
VAL 
■OR 


z « 


« 








o • 


CO « 














a: 




BSUZHZZZUl 






0.100001 












fr<» 


QHH 






****** 




• 


















co * 






















« 







_ « « ■• _ 



W <^ >-. ~ 

c • s- y • M • 

-n o c « o- 

» z ~ P « u . 



Mt P *• M Q — 

sm m ^ j 3- ui 

U Xli U OfN 5X . 

~ U»ri>< I- UI 



,5S« 



QU0.CUQQQOQQqcu« 



a: 

J • 

s: 

M « 

>« 



XX • 

nn • 

u-tai at a. • 

nnoaHnHooari< 



£ £ < 



N « 
J • 

CO « 



vj 



CD « 



- ~u 



CA Z l 

oSm : 

• x se : 



i y q a 

mHBUQ CO « 

6 J 5 OT J CO P « 
O B aoZMxa 



OU-»«l 



i oi •• 



naa&QsssaA s?s sssisaBiaBaBSBH sasBssviBsssBBBaaaBBfisaai 
maHMn«»n«p^co oioBfHOif w >^tfi<«>r* > Gao%cfi)'4faf*i"Vu'i<or~cDateaif-r>if»- «mttr.BBiOHNi«i«tfti0i 
«r*r^r^r^r^r*f^r«^r«oococD«coa)eoa3eoo\oiffto | tffiAO«Ae't9is5)a)a)SBisiBO)OiHHHHHHHi 

Ofi00007iOOfliaavoo«BBsaaaaassBtBiBBaaisss9svsssoB"BOO 



I <N M > 



t m fmv>r^a>o>aifHra<*>«*inwAr ah BBoHBiiH« 




So: o 
icuu 



»as — 

x 2 H OS 
nuau 
Ut- < tn 





J z 


u • 




fe-F-e, 


«: 


0. J M J X 


< a 




cu « 





MOfcZ 

OS >« M CO 

cu e- co a. x 

IkZ cu •- 

O O O co E-i 

Z B Z 

as t- t- S o 



o: 



K M 3 

< -^sSI 

DO 3 OS J Z 

as OH u •-• 

UOUH 

sea. pz 

•- ai p fr< o 
e- x z P 

u « o. z 
Hum zos 

3 X 3 3 

0. U "1 i> 



U J 

(-. Z W 
U O DC 



U b. O 
Z E 6u 

oo 

u a u 



OS X 

CU OO 

•H O P 

x OS < 
u u cu 



X 



US ' 



cu < u. as . 

zz >a.cuJH co 

O se — oiox— z 

CO — X CO - — » BB X 

3 MSb »-- l-< » 



:nxx -<Jaza<>'0 







• 
* 


p: 








OS « 




b * 


a 


•J *J 


Jjii: 


C6 * 


J « 
















n * 














* 


< « 



t< H J I- J E-1 O J fr> J _• 

qmb;hc<<Q3<ququ qqascucu<a3<c<0i2q 

JOTOIIUJOU JIOJD JJOO r ~iUJPO*3*30J 




10 CO 

M M 

I- f 



< I 

b. O 



03 



CJ 



HNH M 



p" cg2 

X < cu 
<*< <n 
Q CO 
•-" < 
OS Q 
a. Z co 
. < M 



-QUO 

< 2 < 

Q E- f- 

M CU >-" o 
H M M 

H co as w as 

O t-4 CO M (0 



HO, U) 



••as 

O^J 

z >< «e 

DC 3 

■ss 

u o < 

i?XH 
U J u 
J o o 



< a; < 

Sac co 
< J 



z w 

►"•SB 



W < E-" 
, O 3 K 

J O CO 

i a. < 

a 
at h< 
j co o 
U O J 



H Q - 

iv. xtn 
-10.0 
«S CO S o) 
□ to co 
O X J < 

a o cu 

Q0S>- 
5- Z (-• CO 

H «e z 

P CO o P 

> 
a: < t- S- 

X CO EO CO 

< 3 o io 



U CO 

J co : 
cq 

<f- i 

i z o i 
[as z 

! 8S 



Cil < >• 

W J < CO 
3 CO J Z 



hKCu 

Z O •-< 
O Cu 
O CO 

H > 

f- CO < 

uuu 
o t* J 



os o aj a. 

OEvfM 

a. " 

Cu J- Cu 
f- « >i 

uxzx 

CO CO O CO 



2SE CO 

< P y co 

izz • m as P ai 

O ZE— XC < * X 

,oj — x x co a: cu - m 

••^ J •« Ok H 



S u 19 

s^ m a j 

Z Z J Cu Cu 
w •-■ v M •*• OOS^nOS 

xxyp zc x y p o. j cu 



X ~ 
3 CO 
O X 



JHJ 
XXX 

-^ai^ 



j-S, 



Sk-fiSSISiSKBO 



i -* -n \o p- <a <>\ a. i— « < 



S-C^-Q^SSSSBSOl 



i »o r- «D * oj h ri f*i •• i 
ii->i*»mn«f»iinrt«« 



irtrt mm 



iJCQ^KM^w^M*a>J0ha)b>i.^ 






164 • 80 Micro, December 1983 



Heart ofTEXAS 

COMPUTER SYSTEMS 

Toll Free 1-800-433-5184 Texas 1-817-274-5625 




TCS Model IV, 64K, 2 Disks 



Systems come with 180 Day TCS Warranty 



$1499 



With standard 40 track c./£&- 

double density drives V^" 
Over 340.000 bytes 
Enhanced Model IV Operating System 



$1699 




« With 2 dual headed 40 

track double density drives 

Over 730.000 bytes 

Enhanced Model IV Operating System 



Fully assembled and tested systems that are software compatible and tunctionally 
identical to Radio Shack units sold at computer stores tor Shundreds more 

' CONTROLLER BOARDS are high quality double sided epoxy boards with gold 
plated contacts 

* POWER SUPPLY is the tinest switching type available 

* MOUNTING HARDWARE includes power and data cables 

* DISK DRIVES are Tandon. the same ones used by Radio Shack 

40 track double density, with a 5 millisecond stepping rate 

TCS MODEL III DISK EXPANSION KITS 



1 Controller, Power Supply. Mounting Hardware & Instructions 

2 Controller, Power Supply. Hardware & one 40 track Tandon Drive 

3 Controller. Power Supply, Hardware, two 40 track Tandon Drives 

3a Kit 3 but with two 80 track drives (dual sided 40s) 

3b Kit three but with two 160 track drives (dual sided 80s) 



$249 
$429 
$598 
$791 
$989 



TCS MODEL IV DISK EXPANSION KITS 

11 Controller, Power Supply, Mounting Hardware, one 40 Track Tandon Drive $479 

12 Controller, Power Supply, Mounting Hardware, two 40 Track Tandon Drives $649 
12A Kit 12 but with two 80 Track Tandon Drives . $629 
12B Kit 12 but with two 160 Track Tandon Drives $849 




TRS-80 equipment below has original 90 day Manufacturer's Limited Warranty 

MODEL 12 and MODEL 16 

MODEL 12 1 drive $CALL 

MODEL 12 2 drives $CALL 

TCS MODEL 12 Version. 2 Tandon drives (like the original) TCS Warranty $2995 

MODEL 16B... Support up to 6 users. Run your whole office with 
hard disk capabilities for about $1000 per user! 

MODEL 16B, 1 drive $CALL 

MODEL 16B. 2 drives $CALL 

Model 12 and Model 16 Accessories 

128K memory board (256K Max ) $629 

128K extra memory chips (RS) $269 

128K extra memory chips (TCS) $189 

Xenix Microsoft Multi-user Basic $269 

Xenix Accounting Software $CALL 

Xenix Multiplan Spread Sheet Software $263 

MII/12 to M16 multi-user upgrade kit . $1339 

DT/1 Video Terminal $629 

MODEL IV 

MODEL IV. 16K Cassette $825 

MODEL IV. 64K, 2 drives. RS-232 $CALL 

Model III Color Computer 

All Radio Shack equipment is shipped from our store 
in Brady, Texas 



TCS DRIVE CABINET is industrial grade heavy guage metal, safety fused and comes 
with gold plated external connector with extender cable 



1 DRIVE in Cabinet 

40 track single sided $199 

80 track (dual sided 40 track) $299 

160 track (dual sided 80 track $399 

1 DRIVE Double Cabinet 

40 track single sided $269 

80 track (dual sided 40 track) $369 

160 track (dual sided 80 track) $449 



2 DRIVE Double Cabinet 

40 track single sided $399 

80 track (dual sided 40 tracks) $599 
160 track (dual sided 80 tracks) $799 



Drives in cabinets come assembled 
and tested with power supply Order 
cable separately 



BARE DRIVES ONLY 

40 track single sided . .. $165 

80 track (dual sided 40 track) $CALL 



160 irack (dual sided 80 track) SCALL 
8 inch Slimline sgl/dbl sided SCALL 
Winchester Hard Drives 5 Meg $399 



CALL IF YOU FIND A LOWER PRICE ON DRIVES 



CORVUS 



HARD DISK DRIVES Complete from $1649 

Single and multiuser HARD DRIVES for all brands of computers 
One or several computers can share A HARD DISK. 



Model 100 Portable Computer 



8K / 24K / 32K Models 

Full-size Typewriter Keyboard 
8 Line, 40 Character Display 
Weighs less than 4 pounds 
Battery operated with optional 

AC Power Adapter 
Built-in Word Processing 
Schedule and Address Book 
Built-in Modem 
Advanced BASIC Language 
RS232C Interface to printer/ 

cassette recorder/phone 
Complete Documentation 




ACCESSORIES 

8k RAM Memory Expansion 
Parallel Printer Cable 
Direct-connect Modem Cable 
System Briefcase 20x14x4" 
AC Adapter 



$CALL 




Heart ofTEXAS 

COMPUTER SYSTEMS 

P.O. Box 1327 Arlington, Texas 76004-1327 

Toll Free 1-800-433-5184 Texas 1-817-274-5625 

Payment by cashier's check, money order or certified check Call tor credit card $ 
No tax out of state Texans add 5% Prices sub|ect to change at any time 







Q 












h 








z 


Z 






OZ bl 






9 




















u x 




z 










JH01H 


rf 3 O bl U 










3 CQ 








O bl M 




Q < Z 




OS 












J < M £h J 
O M J fH J E- O X < bl 

e<e-<dxu z a < > x 
in z aSffti a bi u u as J m 












< Q in 






























in x • in 

in 2 c < 




OS 
















Z 


o 
































Z O Q b, N 
















J H fc |h Z J < H E* in Eh < ft, »-co 




XO X Q 






H O Z Z J ft 










»-h 








M 


3 x o o z z < 


<kuho<<« O >JOn 3 


< «c in x 


bl 




i-h 


w j 




























un u u b. as • b. (-< C 3Z E- < < a. 

b. Z bl Z Z b. O ■LZhKOIXUpZIk J 










■ 






























HXQ 




Z E- 


t>3 














x z H as 


x 


•H 








|| 








E- « D U3 O 












E- b. bl Eh 






E- X 


















CO o 


IllUKHUt'hUPUKIlJQUM^UKUKUlOwUtl-U* 


• JO 


--.-._ ~ 


o 


a, i-, 






U J 

J b. 

o < b. as 
zx -b. o. 
o <-» ~o in 
in — x in » 

3 -M 3 J 

04 —a x 



~o 
■J x 

X N — 

— -J 

ml- 



s 

! J5 



u 



o 



< — 



— < J. 



O < cs ;.. a; _ ,- 3 

: z x •■ as fa, a. j j < 

iou- u o in x x a. ~ — 
: in — x x • in »• 

• «<-Dzan 



fa. X-~ J 

as ^P bi o 

a. j x in x 

. in x j 3 u 

» j j - — o < - 

- x ~ M _ - - Q. - 

x — < — zx«<— << 



— * as * — 
u 



O O J 
( • X l_> 

*NO C 

• z — f- 



fa] * < < IS 



Eh . U Q — 

►h ~ J J- KX 

a* O Of-» X J 

X r-< X X - O O 

• O -O N »N C 

m — < ~< ~< _p 



* bl « m i 



in « as H E- 


5 












X E-" Eh o- a, H 






OHsmHZZn 








X 






















OO II < I x « 














3 E» -. JE as E-i E- fa. 














o z bi e- b. z 


J 














p 












bl 13 1 3 J as 
JJZZ"<<0" 


2 • 


* 






« 




K X - O 0. > u. 


u • 


















a: 




jas>-izzzbi. 


J * 








E- « 




HI0 01KHM3I 


o • 


• 
E* • 


nsN 






■* 




« 


a « 
















bl « 






• 


E- • 






« 








* 
















• 








* 


























bl • 






« 






& a 


« 




XXX 



inriHsaai 



J J j j j « P « 

J H J fr> O O J E - J J IO-Ih OK VI < H • « o Bi 

<ar><abiQzObiQQasaa.aQ<Qs<o.<aubiabioaa.abOQO>J>->osQa.« u « obift,n.oaQoaaoft, 

OJOo.JujJ^-iJajJooTJJoJOO'-ioJKinJQ.xo'-sJKjjjinpO'-iJ'-i* z • joon-JJ.Jx.JJJn 

« ►-» « 



z Z a n b z b o o o o • J« otcca 

bibibibfbibabtbibibjb** 03 • hi fa. fa. 

blblfalhlhlfalfalfalhlfalfal* < « bl bl bl 

QQOaQQClQQQQ* E« « QQQ 



E" U Q. < 

Q J bl 2 bl Q in ' 

Ob.j»inJtnH 1 

9i«UU30ZHK< 



.. .. ~ x x I m o 



iE-.no - — 



,<s:E;sci3)K:K,s;s' 



aisssssssssmi&saa 



S S I 



• r- r» !-• r~ r- r- r~ 



ssassfii 



■ {DfflSHM"! » 



j a K> s s s s : 



-a cs s is 



ICQSSISOSS9SS 1 



SBrossa s 



















< o z o 






> 


Eh x in in z 
in J E- (h E- X « 


Z Z X 


a Eh 


























1- hH O 




























p < P in 

PXb.b.b.Q ZbS 






















m c to j cv 

P Z J 






o o 




CO < O m 














oh. E-" J E-Oh 




x en 




< as 


bl Z b: X 






s 








Sri 


j < < a o m z 










Q OX 

as as bi o 






Q Z O bl . z 










HUUi(> Z OS < 3 




< M X 3 Eh J 






bl aS X bl X bl (■»■ 






u 












axxz>- oso aso 




Z CD < Eh in O 


a a « 


n 


O bl X OS 


















X z 


Ww^XE-" bSKblO 








« 




►h r>.asQas^-as<fHOHX<bi 




S O p bl < X 

P P in J < bi 


zc o S 
« P J u 
















<OOE-OOXZZ 


























a: 


j z bi a. 


Q<EHblEH<EHtnE-b. EhOX 


eh a X J < 


















3E JZ<N OOO 


p u J « 

P o o « 


Shi 




J bl O 0. 


O < «C < O bl o 








* 


x u; 


zomhum asx»u 


KOUOh oSnnEh 


g: 


x as « a r 


ooz o " < z x < eh a 




X O. DN 


S x as 
in u bi a 




« 


s 


* 


E- X 


E-< Z b. f- CO OS X 








Eh a. E- o X Z O Q bl q as Q 05 z> « x z 








« 


« 




i-OSZZOZb.Z 0. •- 


X b. 


O Z Z b. b, Cv. . < 


»P« 

HO « 




z en « 


1 XXZ2Zb.ZlQ 1 OS Eh Eh bl < 

i< < < «£*h <oinx 

blQE- E- E- UO< Pbl 


< E- E- bl < Z 

J o in x op 

b. < P bl O P 


Z O — X O bl u. 


E- x 


Ul 


« 


« 


* 






^ 


x P n x as x 




O en < 










* 
















n 




« 




3. 0.ZOZZ Q Z 


e-S. 


•h a. z Z<a.oo 

1- XOSEHBS«H«(tP 


z z a. • 




< Q >- 


> >-. 0. ►< ft ►< 0. CO > Q > 




Eh > ft, E- a. 










* 


E- X. 


-E-"-X<XXE-E- <0 




j « 


fn E- S < 


<Eh •-< « >-"»H<«EH<b<«EH<b;<EHE- 








« 




* 


a<KUilD033MMO 

oxtnininHJE-E-owj 


3 X 


3DU3BKK 

nE-oPQinbio. 






blblXUCOblblinKcnkCCnKXblJblOXbl 

uiafiKHjuH«HgiHiaE<Juu-i<J 




bl bl bl bl X Z X 


0. 


M 




X 






a. •< n • 


« 


oOJ<Jtjin'jEHJininOin 



&: 



< Eh > 
«« ^. 

X « P X 

(-1 bl 3 bl 

O F ■ -t H 



E-« 

Q Q Q Q >-. b; « 
J J J J bl X « 



X « 

* « 

ft, « 



X « 



b. X O O b. Z 

X — P — « ft, < b. X ~ bl „ 

OhJmJXZZ - b. ft. J Eh 



il^ 



F o to 

M X P bl 



('OK— X C < X X 

■ in — x x u x a. » m 

N s -.-I J ■ u O- H 

ZBK-OMU14XN 



JJ JJJJJO 

Eh E- J E- J Eh U J H J JJJ« 

Q«X«X<QO<QblQbl aQX0.ft,<Q3<XB.<Q<<C« 

jbtbtujouhmjo JJoonoJOonnoJotin* 




s tn j 
ox o 



z<'«z<r-iNmMLnM<sz<xmxz<cxmx 




j« 
x • 

z • 

M • 

X* 



E- OSOXOHEhEhEh 

Q«XQa.o.QftXoxo.xao.oQaoft,OQQcaft,QbiQKHO.«x«x 
JBIJUIJUIUIUIUIXJJlOIXJJnilJIIJlllIIIIII 



z • 

< * H 

z« x 



Hri^ioh99BHn^^iiiior-onBHnr'>^i/i0hAA'jHNn a tin«^iB0ivHn M >4ini0r.ooiaHN'<iH|iAw^oDC'isHMriHrirvr^cDAaHN"ivinioi 



QSOQIS 



OQBSSS: 



I S SQ S 



166 • 80 Micro, December 1983 



Heart ofTEXAS 

COMPUTER SYSTEMS 

Toll Free 1-800-4:53-5184 Texas 1-817-274-5625 




PRINTERS 



STAR"s goal is to be the LARGEST Printer Manufacturer in the 

world, and we are getting there fast! 
' 100-120-160 CPS ' Bidirectional Logic Seeking 
• Friction and Tractor Standard ' Roll and Fanfold Paper 
■ 9X9 Dot Matrix * True Decenders 
" Hi-Res Bit Image Block Graphics ' Super Script-Subscript 
' Underlining ' Backspacing Doublestrike 
: ' 5, 6, 8 1/2, 10, 12 and 17 Pitch ' Programmable Line Spacing 
• SIX MONTH WARRANTY 
STX 80 (80 Column, 60 cps.), Thermal List$199-CALL 

GEMINI 10X (9 Inch Carriage, 120cps) Friction and Tractor SCALL 

GEMINI 15 (15 Inch Carriage, 100cps) Friction and Tractor SCALL 

GEMINI 15X (15 Inch Carriage, 120cps) Friction and Tractor. . . .$CALL 
DELTA 10 (10 Inch Carriage, 160cps) Friction and Tractor $CALL 

CABLES/INTERFACES 

STAR Printers can be interfaced with most computers on the market today, such as 
Apple II lle.lll / IBM PC / Osborne / Heath Kit H89 / TRS-80 Model I. II III.4 12.16.100 
/Zenith Z89/90/100 TI99/4A / Kaypro / Atari 400.800 / Commodore 64 Vic 20 
CALL FOR OUR LOW PRICES 








(C^Mf^" ' 




^ 1!^ ii =2>ini 




Bringing you top quality mini-floppy disks at an affordable 
price. CompuDisks are fully tested to be wear certified and 

100% Certified Error Free 

ALL DISKS INCLUDE: 

• Hub Rings 

• Protective Envelopes 

• Density Certification 

• Write protect tabs 

• Adhesive Labels 

NOTE: MINIMUM ORDER Orders (or diskettes only are limited to a minimum 


• SINGLE SIDED SINGLE DENSITY - SSSD 

• SINGLE SIDED DOUBLE DENSITY - SSDD 

• DOUBLE SIDED DOUBLE DENSITY - DSDD 


BOXED: 10 Diskettes in attractive sleeved box 

TYPE 1-3 BOXES 4-9 BOXES 10+ BOXES ] 
SSSD $16.99 $15.99 $14.99 i 
SSDD $17.99 $16.99 $15.99 
DSDD $22.99 $21.99 $20.99 . 

BULK: Buy in quantities of 10 per pack 

TYPE 1-3 PACKS 4-9 PACKS 10+ PACKS 
SSSD $15.99 $14.99 $13.99 I 
SSDD $16.99 $15.99 $14.99 j 
DSDD $21.99 $20.99 $19.99 j 


j ordered at the same time Irom TCS 


For orders of 1000 diskettes or more, $CALL. 


Smith-Corona' XP-I 

LOW COST LETTER QUALITY DAISY WHEEL PRINTER 

Your choice PARALLEL or SERIAL Interface 

List Price $895 $4>£ SCALL 


nFifSC Heart ofTEXAS * 

II <£S COMPUTER SYSTEMS 

P.O. Box 1327 Arlington, Texas 76004-1327 

Toll Free 1-80O433-5184 Texas 1-817-274-5625 



TIME T» GET 

MZAL 




End your programming 

frustration with the M-ZAL 

disk assembler. 

M-ZAL s modular, structured 

approach to program development 

will solve your programming dilemmas. 

Attack and complete the most difficult tasks with ease 
and confidence. M-ZAL out performs every disk assem- 
bler on the market with speed, power and features the 
others can't begin to touch. Read what the experts have 
to say about M-ZAL: 

"...the most powerful assembler you'll find available 

for the TRS-80." - Dan Robinson 

Infoworld 
M-ZAL Review 

"M-ZAL is an extremely powerful program develop- 
ment tool... If you are a professional programmer, you 
owe it to yourself to buy this package..." 

- Bruce Douglass 
M-ZAL Review 
80 Microcomputing 

"No serious assembler language programmer should be 
without M-ZAL. It is one of the best programs ever 

Written for the TRS-80." -William M. Demas 

Author of PANIK and 
FORBIDDEN PLANET 

M-ZAL Release 3 features: 

• New M-ZAL labelling Disassembler! 

• New XBUG-II debugger/ monitor! 

• Full Screen Text Editor 

• Full Screen Option Menus 

• Multi-pass MACRO assembler 

• Nested "INCLUDES (source file nesting/chaining) 

• New conditional assembly ops! 

• Module Linker (ENTRY/EXTRN and relocation) 

• New linker OVERLAY facility 

• Support for all popular source file formats 




M-ZAL (Requires 32K, 2 disk system): 
# 1050-10 Mod 1 $J4fcfJu r $99.95 
#1250-10 Mod 3 $>*£tf0 $99.95 

Other Quality Products Available 

T-ZAL: custom designed for the Model 3, this tape 
based assembler has many of M-ZAL's most desired 
features. 

# 1250-20 Mod 3 only $49.95 

Full Screen Text Editor for BASIC: we were the first 
to give the TRS-80 this indispensable ability! A must for 
every BASIC programmer. 

#1210-20 Modl&3 $29.95 tape; $34.95 disk. 

Mail Orders - Specify catalog number, enclose check, 
money order, or MC/VISA numbers and expiration date. 
Add $2.00 for shipping, $10.00 outside USA & Canada. 
NY State residents add applicable sales tax. 



800-354-5400 



(orders only.) - for info call: (914)-937-6286 



ni I COMPUTER 
ML I APPLICATIONS 
LSCJ UNLIMITED. 

a «« •! C»U. Mc 

P.O.Box214, Dept.M Rye, NY 10580 914-937-6286 

TRS-80 is a TM onarx* Cap M-ZAL is a TM ol CAU. Inc 2-80 aaTM o«Z*OQ. mc 



uup 

z z z 

CO O < 

■J X 

» & 

as en o 

O cj 



3 Z 

■4US 
2 JE- 

> 13 

a z 
co z co 
tn x J 
oscj 
co u 

> cj > 

Z CO < 
MOW 



E- MM 

u a: a 



> OS OS 

< J J 

w cj cj 




< « 
• < m « 



_ CO 
I Q 



s g 



< CJ i 



~ I 
— . as \o 
as En co -~ 
E-" u cn u 



• a. -Q u - ii. i 
n < «e — a < < i 



o Q J J X 



« « M tO 

a * Q * aaaaaaasaasoaao 

-J « z« jjjjj(j | ->!j-3a-jjj 

• 3* 



x - 

s: • 

o « 

CJ « 



J « 
< « 



i f as as 

< U Id 

; uk^ 

o z z 

i .J 3 a 

o o 

M CJ O 



Ok U Z 

X E-i 

OZ ... 

U CD X 



M« OS 

CO « CO 

« CJ 

* 
z « 

OS* 

§: 

[g • 

a. * 

« 

a « 

i: 



p« ki 

« CO « 

« Q « 
« K « 

« OS « 

« « 04 I 

) Ok « CO « O 

i •-} « as * Si 

:g: 

a. « co « z 

S« u « as 
« as* p 

z« • co 

n .. .. .. as 



« Cu * EC 



t-< z a. 
< . * 

8E-i O 
U CJ 
JO 

• D 

m :S 

9 a 
u as 

co x u 



« CJ « M W 



as « x « co 



> t-< CJ 

DUO 



; 8a8! 



as m 

JOliC 
U M CO 



CO 3 O 
U O 

a E 



co as z as 

o a. o 2 

x < MX 

UJf fU 

E- IU M < 

5hU(5m 

•J CO 

Q Eh . 3 

as cj >un 

< a ■ j 
x 3 as eq e* 

X X CO S X 
O CJ > tn CO 

cj o z 

co co 
ii as x as c 

coggg* 
Z CO * CO CJ 

SCO CO CO z 
OS co as m 



co cj u 
o M 

3 co a: 
<0 



USE- 

ce co co 

g z £ 

CO E-< 

CO CO o 

asu O 



» 3 " ' " 



558 B 



:...-»: i in- -cj • &, u _: co c - z x 
:»n«2osxq<<m ~- 



<kx— < — Z X < I 



SC9<SSSSSSSli 



iSSASSSSSSSI 



X ex 

cococjas Q. a, a. cj a. 

soacooaasoQO. asoosozoaos 

o- c J o x 'J n c, J cj -i a. •-> 0. m o, j ^ 



QQBSSS SS6 StBCSSSS 



U mS 


0.' O CO 

Eifx 


£2 U 










u u 








Cv. O 


co a us 


°rr* 








as u a 

< Z co 
E-i to CO 




as x en 


a, a 


CO iJ 3 


CO ^ 



82; 



: u 



U CO < I 
E- M O 

co os as 

X fl W Q 

io a j z 
<u co 
x as 

KCvDU 

<ICOJ 

J D < 



« co « w • u 

« J* Z X J 

«m*M xas x cq 

* < ' aSxsi^xaS 

« E-i« DinU JnnE< 
« « 0)UH<OO< I 

i * a*- s r- - » r- u> 



« « X* 

co« zcaco* o« xa jiaxa 

Cu* Cl. Ct- Ci, * CJ* tbCvthBhhtktlM 

iJ«UCdC0« *cococococococo 

CO * Q Q Q « X* a Q Q Q Q Q Q 



« as • as « to « 
«<«z E-i«o« 




CO 
















t- 



^ S SQQQ 



iSQSlSOQGQi 



i in in m \d \c *c \o \oto ! 
<5Sias<sscass 



iasssssssssssssssa9<&9S«« 
i^v^i^r^r^^r^i^r^^^hcocococococococDeDcoovaiatiTtiTiot^o^oii^csisssai 

tSQSSSSSSiSlSSSSSSSSSSISaSSSISiSSISISISISSSHHHHHt 

<sssisisssiacas>sissssssisatss(sissQss^sossssisss)&i 



ALWAYS AT 
SALE PRICES 



TRS-80 



ALWAYS AT 
SALE PRICES 




HARD DISK DRIVES 



DFW COMPUTER CENTER 

326 MAIN ST., GRAPEVINE 
TEXAS 76051 — (817) 481-7283 



..,0DEL16-B 




To get YOUR SALE price CALL: 

1-800-433-S ALE 




UTILITY 



<sms> 
LOAD 80 



Chameleon Code 



by Bradley Murray 



The mixture of Basic programs with 
Assembly-code subroutines is powerful, 
taking advantage of the simplicity of 
one and the speed of the other. 

Sometimes the Assembly-code rou- 
tines are loaded in Basic; other times it 
is better to POKE the decimal equiva- 
lents of the routine's object code into 
memory. It is a nuisance, though, to 
convert the object code to decimal, 
check the values and type the data lines. 

1 wrote a program that interprets an 
object file produced by an editor /as- 
sembler, converts the object code to 
decimal values, and writes these values 
to an ASCII file of data lines. These are 
later merged into the Basic program 
that POKEs the values into memory. 

The program gives the starting and 
ending POKE locations, the memory 
size required to protect the POKEd pro- 
gram, and the hexadecimal (hex) address 
needed for a DEFUSRn= statement. 

How It Works 

Program Listing 1 requests the name 
of the file to be converted, the name of 
the ASCII data file (the output file), the 
starting line number of the data file, 
and the line number increment. 

The program is listed one statement 
per line to increase its intelligibility, but 
when entering the program ignore all 
comment lines and compress statements 
into single lines. The following line 
numbers are branch points — you must 
preserve 1100, 1260, 1360, 1630, 1800, 
1870, 1940, 2000, 2090, and 2240. 

The program begins with an error 
trap: The object file first opens as an 
I-file, closes and then reopens as an 
R-file. If the file does not exist, a ran- 
dom file with no data is created and 
read, giving unpredictable, incorrect 
output. If the file is first opened as "I", 
the file-not-found error can be trapped. 

170 • 80 Micro, December 1983 



Tired of converting 
Assembly code into 
Bask data statements by 
hand? This speeds it up. 



Reading the file as an Input (I) file, 
with an INPUT #2, AS would be 
simpler, but has one problem. A byte 
containing 00, valid in the object code, 
would be bypassed. The code D0A7 
00FF would be incorrectly read into the 
string as D0A7FF. This does not hap- 
pen when the File is read with a GETl.r 
(see line 1240). 

Line 1090 sets HX$ to contain all the 
hex codes, from which values will be ex- 
tracted in line 2070 to make a decimal- 
to-hex conversion. 

Line 1180 fields the input file buffer 
as two variables of 128 bytes each. No 
single string variable can contain the full 
256 bytes. If your older version of Basic 
has not been modified, the second half 
of the buffer field contains only 127 
bytes. This leads to problems if your ob- 
ject program occupies a full disk sector 
or more (256 bytes). 

The first byte of an editor/assembler 
object file is either 01 (if created by the 
EDTASM in the NEWDOS package), 
or 05 (if created by Radio Shack's 
Editor /Assembler). In either case the 
first byte of interest to this program 
contains 01 — the command to load. 

Line 1260 extracts a byte from the 
string A$(l). The first time through, it 
extracts the first byte and converts it to 
decimal. If it is not 01, the second byte 



will contain a certain number of bytes to 
be bypassed before loading program 
code. Line 1310 increases the pointer by 
this amount, to skip over the required 
bytes. If the following byte is 01, it's a 
loading instruction. 

The byte following the loading in- 
struction gives the number of bytes to 
be loaded, including 2 extra bytes con- 
taining the loading address. Lines 
1380-1390 decode the number of pro- 
gram bytes NB to be extracted from the 
string. Zero is interpreted as 256, and 2 
is subtracted from NB to take care of 
the loading-address bytes. 

The loading address is used to 
calculate the first location into which 
Basic will POKE the program, as well as 
the memory size needed to protect the 
program. 

Line 1400 moves the pointer to the 
least significant bit (LSB) of the loading 
address and blanks the hex value string 
(ST$) for this address. The program 
calls subroutine 2000 to get the decimal 
value of the byte, find the quotient and 
remainder (modulo- 16), and convert 
each to one of the hex characters in 
HX$. Upon return, it assigns ST the 
decimal value of LSB. 

The pointer moves to the next byte, 
the most-significant bit (MSB) of the 
starting address. With a call to 2000, 
this is converted to decimal and to hex. 
The hex code is put before the LSB and 
linked with it to give the starting address 
in hex (ST$). 



The Key Box 

Model I 
32KRAM 
Disk Basic 
Editor/ Assembler 



IF YOU'RE GOING TO 

BE PICKY ABOUT AN 

OPERATING SYSTEM 

SEE WHICH WAS 

PICKED BEST. 



The readers of 80 Micro were 
asked to select their favorite 
operating system for the TRS-80 
Model l&dll. LDOS. DOSPLUS, 
TRSDOS, MULTIDOS, WOBOS I and 
HEW DOS/80 were all on the ballot. 
They picked NEWDOS/80. 

The editors of 80 Micro have also 
awarded their Hall of Tame Awards, 
from among every software 
package on the market the editors 
picked only six that they felt made a 
lasting and significant contribution 
to the TRS-80 computer. 
P1EW DOS/80 was one of the six. 

Since we first introduced the 
MEWDOS operating system we've 
been stating its features, capabilities 
and advantages. Thank you 80 Micro 
readers and NEWDOS/30 users for 
supporting us. 
Version 2.0 .. . 
High Performance DOS 

MEWDOS/80 Version 2.0 is our 
highest performance system yet. 
The versatility and sophistication of 
Version 2.0 includes features like: 
■ Double density support on the 

Model I 




Enhanced 
compatability between 
Model I and III 

• Triples directory size 

• Dynamically merge in BASIC (also 
allows merging of non ASCII 
format files) 

• Selective variable clearing 

• Can display BASIC listings page by 
page 

• Automatic repeat function key 

• Routing for peripheral handling 

• Enhanced disassembler 

• Command chaining 

• Superzap to scan files 

• Fast sort function in BASIC 
Hard Disk Support Now Available 

• Support for Apparat's and Radio 
Shack's Model III hard disk 
(optional-available upon request 
for additional $60) 



These 
features make 
MEWDOS/80 one 
of the most powerful 
additions you can make to 
your system. And Apparat's 
commitment to support assures thai 
you've purchased a superior 
product, both today and tomorrow. 
At just $149.00 it could be the best 
investment you will make for your 
TRS-80. 

For more information see your 
local computer store or contact 
Apparat, Inc., 4401 S. Tamarac 
Parkway, Denver, CO 80237, 
303/741-1778. 

TRS-80 and TRSDOS are registered trademarks of 
Tandy Corp.. LDOS - Logical Systems. DOSPLUS - 
Micro Systems Software. MllTlDOS - Cosmopolitan 
electronics. WOBOS I - Western Operations. 
MEWDOS/80 - Apparat. 



> 




Apparatlnc. 



^40 



s See Ust ot Advertisers on Page 291 



80 Micro, December 1983 • 171 



ATTENTION TRS-80* OWNERS! 
DON'T SCRAP YOUR MODEL I... 
CONVERT IT INTO A f " 
MODEL III WORK ALIKE 



WITH DISK CONTROLLER,. 
48K RAM RS 232" 
AND ALL OTHER 
MODEL III 
FEATURES 

The Norcom TC-III is a replacement for the 
entire Model I electronics which perfectly 
tits into your original Model I enclosure 



Features 



Uses Mod I Ke»DoaiO case monitor & powei supply 

includes lull 48K memory disk controller primer & 

i-ilernal I ports same as Model III 

Aii Model in features plus reverse video & ouipui 10 

drive external speaker with no additional hardware 

Uses Mode: in Basic ROMS or other EPHOMs 

Huns Model ill software 

No expansion interlace needed it s all built m 

HS ?3? add m accessory board available 

Keyboard with toy stick port available make your 

own portable 



Assembled & 
tested IC III 
wilh Basic ROMS 



399 



gg Factory 
Conversion 



499" 



of your Model 

Deluxe Keyboard with Numeric Pad $99.00 

Deluxe Keyboard without Numeric Pad $79 00 
RS-232 Interface Board Ms mside case $49.00 
Model III & Model IV Accessories — 

$20 00 
$59.00 



■ Owkw Ox BOM ipMcmiinl. 
l*U Fsn-ftn vum 

■ HS-212 Molaca Kit 

A partacl frt >n yow comouMf 



•rs?: 



:>plion»l -TRS-8C 



NORTHERN 
TECHNOLOGY CORP 

3SC finch vaie Dr Eft< Grove village in 60O07 

312-860-1772 fc=T 




+ BIGGEST TRS80 SPACE GAHE 

* STRATEGY/ADVENTURE COMB. 

* HATCH WITS WITH AN ALIEN 

* NEW GALAXY EACH GAME 
No 2 vamos avor alike 

* FULL RANGE OF COMMANDS! 
Phaaars CaPtura Scan 
Torps RtPort Build 
Thruatara Dock Scora 

* FIVE LEVELS OF PLAY 
E*»y to daad I y 

* GALAXY CHART PRINT OPT. 

* 9 GAME LENGTHS il Sail n-2hr 



FOR TR8-80 MODELS 1.3.4 

REQUIRES 48K * 1 DISK DRIVE 

Get ZIRCON now for only »33 

(Includes caataina (Manual) 

CHECK. COD. VISA. M. C. 



PAECO I NO. (Eat 1964) 

213 SO 21ST ST. 

BHAM.AL 33233 203-323-8376 



Upon return from line 2000, the pro- 
gram multiples the decimal value of this 
byte by 256 and adds it to the LSB to 
give the starting address in decimal 
(ST). If the decimal value is greater than 
32767, line 1520 sets the sign bit so the 
location to POKE will be negative. Line 
1510 saves the positive value in MM as 
the memory size value. EN in line 1570 
is the ending POKE address. 

N points to the byte within the string 
A$(K). The subscript K is either 1 or 2; 
each record is split into two sub-records 
(see line 1 180). K starts with a value of 1 
in line 1620, increased when 128 bytes 
are decoded (lines 1730-1740). If K 
equals 3, 256 bytes have been decoded 
and the next record is read from the disk 
(1770-1780). 

NB is the number of program bytes 
to be converted to decimal and put on 
the data line. KB is the number of bytes 
actually converted and added. Line 
1800 compares NB and KB. 

NN keeps track of the number of 
values on a single data line. As long as 
this value does not exceed 14, a comma 
is appended to the data line 1 850. When 
there are 14 items, the routine writes a 
carriage return/line feed to the file 
(CHR$(13)), increases the line number, 
and generates a new data line (lines 
1870-1890). 

The decimal value of the code is not 
written directly to the data line, since 
spaces appear before and after the num- 
ber. Lines 1630-1670 convert it to string 
format, trim it, and write it as a string. 

When line 1800 determines that the 



number of bytes decoded and written 
(KB) equals the number of bytes re- 
quired (NB), the program calls subrou- 
tine 2090, the ending routine. If the next 
byte is 01, more program bytes must be 
added to the data. NB is calculated as 
before, but the loading address is not 
needed. 

If the next byte is not 01, the entire 
program has been loaded. Ordinarily 
this byte and the next would be 0202, 
followed by the program entry address 
(not always the loading address). In this 
conversion I assumed the starting ad- 
dress and the loading address were the 
same. If not, adjust them with a JP or 
JR to the starting address. 

You can modify the program to han- 
dle a different starting address. If the 
next byte is not 01 (line 2180), check 
whether it and the next byte have a 
value of 02. If so, the 2 bytes following 
0202 contain the entry address. Convert 
ST$ to this, using the technique above. 
ST (the start of loading) and MM (the 
memory size) remain unchanged. 

If the byte is not 01 the loading is 
finished. The program branches to pro- 
duce the hex value used for the address 
of a USRn call, the starting and ending 
loop index values for the POKE, and 
the memory size used in Basic when 
running the program. 

Program Listing 2 POKEs the As- 
sembly-code routine into memory and 
runs it. ■ 

Contact Bradley Murray, S.J., at 
Loyola College, Baltimore, MD 21210. 



Program Listing 1. The Converter program. 




1B8B ' ** CONVERTER PROGRAM ** 




1010 ' 




IB 20 ' CONVERTS AN OBJECT CODE FILE 




1030 ' TO "DATA" LINES SUITABLE FOR 




1040 ' BASIC "POKE" FUNCTION 




use ■ 




1060 ' TRAP FILE-NOT-FOUND ERROR 




— 197 B ON ERROR GOTO 19 40 




1080 DIM AS(2) 




— 1090 HX$-"B1234S6789ABCDEF" 




1189 LINEINPUT'OBJECT CODE FILESPEC: ";FS 




11H ' OPEN "I" TO SEE IF FILE EXISTS 




- 1120 OPEN"I",l,FS 




— 113B CLOSE 1 




1140 ' IF SO, OPEN AS A RANDOM FILE 




— 1158 OPEN"R",l,F$ 




1160 ' BE SURE YOU HAVF UPDATED VERSION OF 




1170 ' OF BASIC. IF NOT: 127 AS AS (2) 




-^llBB FIELDI1,128 AS AS(1),128 AS A$(2) 




^-119B LINEINPUT'ASCII DATA FILESPEC: *;FS 




— 1288 OPEN"0',2,F$ 




— 1210 INPUT'ASCII DATA FILE STARTING LINE NUMBER " ; LN 




-- 1220 INPUT'LINE NUMBER INCREMENT" ; IN 




•—1238 PRINT 42, LN; "DATA *; 




- 1248 CET 1,1 




- 125B N«l 




-1260 C-ASC(KID$(AS(1) ,N,1)) 




1278 ' C » LOAD COMMAND? (01H) 




1288 ' IF NOT, NEXT BYTE IS NUMBER OF BYTES 




1290 " TO SKIP OVER. 




-13B0 IF C-l THEN 1368 




ELSE N»ASC(KIDS(A$U) ,N*1,1) ) 




— 1318 N»N+3 




132B ' CHECK WHETHER THIS BYTE IS B1H 




133B GOTO126 




134B ' YES: NEXT BYTE GIVES NUMBER OF BYTES TO 




135B ' LOAD, INCLUDING A TWO-BYTE LOADING ADDR 




1360 N=N+1 




1378 ' KB - NUMBER OF PROGRAM BYTES TO LOAD 




138B NB-ASC(MIDS(AS(1) ,N,1) ) 






Listing 1 continued 



172 • 80 Micro, December 1983 



Listing I continued 

1390 IF NB-0 THEN NB-254 

ELSE NB-NB-2 
1400 H-N+l 
1410 ' 
1420 ST$-"" 



STS - STRING FOR HEX CODE OF LOADING ADDR 



ST WILL BE LSB OP STARTING ADDRESS 



1430 GOSUB 

1440 ' 

14 50 ST-K 

1460 N-N+l 

1470 GOSUB 2000 

14 80 ' ST WILL BE DECIMAL VA\LUE OF STARTING ADDR 

1490 ST«ST*K"2S6 

1500 ' SAVE ST IN MM (MEMORY SIZE) 

1510 MM-ST 

1520 IF ST>32767 THEN ST-ST-65536 



EN - ENDING ADDRESS 

KB-NUMBER OF PRGRAM BYTES READ FOR THIS 
SERIES OF LOADS (UP TO NEXT 01 CODE) 
N-BYTE BEING DECODED IN A$(K) 



NN - NUMBER OF VALUES ON A 'DATA' LINE 



1530 ' 

1540 ' 

1550 ' 

1560 ' 

1570 EN-ST-1 

1580 KB-0 

1590 N«N+1 

1600 ' 

1610 NN>0 

1620 K-l 

1630 C-ASC(MID$(A$(K) ,N,1)) 

1640 CS"STR$(C) 

1650 ' REMOVE LEADING BLANK FROM NUMBER 

1660 C$-RIGHTS(C$,LEN(CS)-1) 

1670 PRINT 12, CS; 

16 80 N-N+l 

1690 KB-KB+1 

1700 EN-EN+1 

1710 ' HAVE 128 BYTES BEEN READ? IF SO 

1720 ' START ON 2ND 128 BYTES OF RECORD 

1730 IF N<129 THEN 1800 

ELSE N'l 
1740 K-K+l 

1750 ' IF 2ND 128 BYTES HAVE BEEN READ, 

1760 ' GET NEXT RECORD 

1770 IF K-2 THEN 1800 
ELSE GET 1 

1780 K-l 

1790 ' HAVE ALL BYTES BEEN READ? 

1800 IF KB>-NB THEN GOSUB 2090 

1810 NN-NN+1 

1820 ' ARE THFRE 14 NUMBER ON "DATA" LINE? 

1830 ' IF SO, START A NEW LINEj IF NOT, 

1B40 ■ ADD *," 

1850 IF NN-14 THEN 1870 

ELSE PRINT t2,","j 

1860 GOTO 1630 

1870 NN-0 

1880 LN-LN+IN 

1890 PRINT I2,CHRS(13) ;LM|"DATA "[ 

1900 GOTO 1630 

1910 ' 

1920 ' ERROR: OBJECT FILE NOT FOUND 

1930 • 

1940 IF ERRO106 THEN ON ERROR GOTO 

1950 CLS : PRINT'FILE NOT FOUND" 

1969 RESUME 1100 

1970 CLOSE 

1980 ' 

1990 ' CONVERT 2-BYTE NUMBER TO HEX 

2000 ' 

2010 ' GET DECIMAL VALUE FROM STRING 

2020 K»ASC(MID$(AS(1) ,N,1) ) 

2030 ' QUOTIENT k REMAINDER, MOD-16 

2040 Q-INT(K/16) 

2050 R-K-Q*16 

2060 ' SELECT HEX VALUE FROM STRING HX$ 

2070 STS-MID$(HX$,Q+1,1)+MID$(HX$,R+1,1)+ST$ 

2080 RETURN 

2090 ' 

CHECK WHETHER THERE ARE MORE BYTES TO 
TO BE READ — I.E. NEXT BYTE IS 01. 
IF SO, GET NUMBER OF BYTES, AND SKIP 
LOADING ADDRESS— I.E. ASSUME IT FOLLOWS 
SEQUENTIALLY. IF NO MORE BYTES, THEN 
ENDING ROUTINE: PRINT CRITICAL VALUES 



2100 ' 

2110 ' 

2120 ' 

2130 ' 

2140 ' 

2150 ■ 

21(0 ■ 

2170 C-ASC(MIDS(AS(K) ,N,1)) 

2180 IF COl THEN 2240 

ELSE N-N+l 
2190 NB-ASC(MIDS(A$(K) ,N,1)) 
2200 IF NB-0 THEN NB-254 

ELSE NB-NB-2 
2210 KB-0 
2220 N-N+3 
2230 RETURN 
2240 CLOSE 
2250 CLS 

2260 PRINT'FOR USR FUNCTION: DEFUSRN ■ IH'lSTS 
2270 PRINT CHRS(13) |"POKE VALUES FROM "jST;"TO "|EN 
2280 PRINT CHRS (13) ("MEMORY SIZE:*|MM 

2290 PRINT CHRS(13) | "MERGE* jCHR$( 34) |FSjCHRS(34) ;CHR$(13) 
2300 END 



1000 ' ** THE POKE PROGRAM *• 

1010 ' 

1020 DEPINT A-Z 

1030 INPUT'LINE 1000 OKAY? <ENTER> OR BREAK* |Q$ 

1040 INPUT'START AMD EMD ADDRESSES *; S , E 

1050 FOR I-S TO E 

1060 READ N : POKE I,N 

1070 NEXT I 

1080 DEFUSR1- 

1090 X-USR1(0) 

1100 END 



Program Listing 2. The POKE program. 



Fine products for your TRS-80! 

The Alternate Forth - A superior ImPiementition of Fig Forth for the 
TRS-80 that includes all standard words through Forth 79. TASForth 
includes editors, an assembler, a decompiler, a PTJRIW utility (Mod III 
only), virtual memory and real time clock support, a FORTHOOS 
operating system that enables you to use familar DOS commands for 
manipulating your FORTH diskettes and much more. A fantastic buy at 
S79.95! 

ALE - a Z80 assembler and fullscreen editor. A most unique assembler 
for the TRS-80! ALE includes support for most popular EDTASM 
fHetypes you are HkeiV to encounter. Dozens of unique capabilities not 
found in other assemblers, plus most "standard" commands. ALE 
supports source files longer than memory. You can also generate 
editable files containing both source and object code. Perfect for 
magazine articles and documented source listings. ALE is only $49.95 
complete with a 150 page manual 

UIDE04 -A screen driver for the TRS-80 Model 4. UIDE04 isa special 
screen driver for the Model 4 that enables you to use existing Model III 
programs (and disk operating systems) while taking advantage of the 
superior features of the Model 4. WDE04 also toggles the Model III 
ROM into RAM and includes patches to several "bugs" that have 
slipped into the ROM. Complete source code Is provided on the master 
disk to assist you with writing your own custom screen driver. Note: 
U1DE04 will not work with programs that do not honor the standard 
video device control Mock, such as ScrlPsit and WslCalc. UIOE04 is 
$24.95. 

TRS-80 ROM Routines Documented. Jack Decker has spent years 
collecting and studying various versions of the TRS-80 ROMs that have 
appeared in various machines, including the TRZ-80. the SystemSO. 
the PMC-80 and the five known versions of the Radio Snack ROM. This 
book is more than Just a disassembly. Jack gives you a good education. 
He goes beyond one-line comments and leves you the "big picture". He 
shows you the background and the whys and wherefores of the ROM 
subro u tin es . He offers tips and suggestions, and he warns you of the 
Pitfalls that can drive you bonkers when you use a subroutine knowing 
only enough to be dangerous. TRS-80 ROM Routines Documented is 
SI 9.95. 

EDX - a fun screen editor for your TRS-80. EDX provides full-screen 
editing capabWtles previously unavailable on the TRS-80. Get to any 
portion of your text quickly. Support is Provided for BIG files. 
Especially helpful for preparing files for downloading and uploading 
when using your modem (many word processors use long lines that 
cause host systems to hang). EDX can learn your editing keystrokes to 
make many boring Jobs easy. Dozens of excellent features! Best of all. 
the Price: Only $29.95. Model I and III: $39.95 for Model 4. 

These fine products are only a sample of the many programs we 
provide especially for your Model I. Ill and 4. Unless you request 
otherwise, we will take the liberty of adding your name to our mailing 
list so you will learn of new products as they are available. We accept 
Visa, Master Card. COO and written P.O.'s from most major schools 
and government organizations. We also provide service for your TRS- 
80. CaH for details. 



1HE 



(Please add $3 per order for shipping and handling.) 



KLTERNKTE 

SOURCE 



704 N. Pennsylvania Avenue 

Lansing. Ml 48906 

Phone:(517)482-8270 

S 69 



60 Micro, December 1983 • 173 



TUTORIAL 



Basic, Faster and 
Readable— Part IV 



by John Corbani 



(The first three parts of this series ap- 
peared in June, p. 104, July, p. 200, and 
November, p. 228.— Eds.) 

The intelligent use of variables in 
your programs is essential to both pro- 
gram speed and readability. The type 
and number of variables and their se- 
quence affects execution time. Creating 
mnemonic variables that are easy to 
read, remember, and understand is es- 
sential to good programming. 

In this article I look at the Model 
I/III version of Microsoft Basic and de- 
scribe how Basic puts variables into 
memory and how to use variables so 
your computer reads them faster. 

A variable name represents either 
a number (numeric variable) or a se- 
quence of printable, or control, char- 
acters (string variables). Basic uses 
variables in program statements to rep- 
resent different values. The concept is 
the same as that used in algebra. 

The formula for adding three quanti- 
ties illustrates the use of variables. 
A + B + C = D uses A, B, and C to 
represent values you want added 
together, and specifies D to represent 
the answer. 

If you assign A the value 2, B the val- 
ue 3, and C the value 5, then D equals 10 
in the above formula. If A= "B" and 
B = "0" and C= "Y" then D equals 
"BOY". You can change the number 
or characters represented by these 
variables, run the variables through a 
formula, and obtain general solutions 
to problems. 

Numeric Variables 

Three types of numeric variables ex- 
ist: integer, single-precision, and dou- 
ble-precision. Integer variables describe 
whole numbers between -32768 and 
+ 32767. Basic processes these variables 
very quickly. 

174 • 80 Micro, December 1983 



Using variables in a Bask 
program can affect ex- 
ecution speed. Make sure 
you use them efficiently. 



Single-precision variables consist of 
any six digits and can contain a decimal 
point. They take longer to process than 
integer variables. 

Double-precision variables use 16 
digits with a floating decimal point and 
take the longest time to process, so use 
them only when necessary. 

A numeric variable's name consists 
of one or two alphanumeric characters, 
with only two restrictions: the first char- 
acter must be a letter, and you cannot 
use Basic reserved key words (If, To, 
Or, and so on). 

Basic converts lowercase characters 
to uppercase. This allows for 26 single 
letter variables (A-Z), 260 alphanu- 
meric (A0-Z9), and about 650 alpha/ 
alpha combinations (AA-ZZ). 

This total of 936 variables applies to 
each of the three types, bringing the 
total possible numeric variables to 
2,808. 

You have the choice of defining 
groups of variables as a specific numeric 
type, or adding an identifier (suffix) to 
the variable name every time you use it. 
If you do not specify a numeric type, 
Basic assumes a single-precision 
variable. 

Use the DEFINT, DEFSNG, and 
DEFDBL commands to predefine 
groups of numeric variables as integer, 
single-, or double-precision. 



The punctuation characters •fa (in- 
teger), ! (single-precision), and # 
(double-precision) are suffixes that you 
can add to variables to define their type. 
The listing below illustrates the use of 
these definitions and suffixes. 

10 DEFINT A-C: DEFDBL X 

20 A=-3:B! = 30: BA = 10: X= Vy. XI = 1: 

X2 = 3:X3 = X1/X2:PRINTA;B!; BA: 

PRINT X;X3 
30 D = 1.666E3:X3 = 1.7563421D-2: PRINT 

D;X3 

Line 10 defines all simple variables 
(those without a suffix) starting with the 
letters A, B, and C as integer variables. 
All simple variables starting with X are 
double-precision. All other simple vari- 
ables are, by default, single-precision. 

Line 20 assigns values to four vari- 
ables. It sets A to -3, an integer, 
and single-precision variable B to 
30.0000. It also sets BA to the integer 
10, and X to the double-precision value 
of .3333333432674408. 

The computer divides constants in 
single-precision and converts them to 
double-precision or integers. If you 
want Vi to equal .3333333333333333, 
you have to type it in yourself or make 
your computer do the division with 
double-precision numbers. 

Line 30 illustrates a shorthand meth- 
od to enter data that comes in scientific 
notation. When you assign values to 
single-precision variables, you can type 
the number, an E, and the exponent. 

In double-precision you use a D be- 
fore the exponent. Basic sets the vari- 
able D to 1666.00 and the variable X3 to 
.017563421. 

String Variables 

String variables represent characters 
or sequences of characters. They can 



represent from zero to 255 characters. 

The rules for naming string variables 
are the same as those for numeric vari- 
ables. Names can be either letters, an 
alphanumeric combination, or two let- 
ters that aren't reserved words. 

Reserve groups of names for string 
variables by using the DEFSTR func- 
tion (see the listing below). You can also 
identify a string variable by placing a $ 
(read "string," not "dollar") after a 
variable name. Basic provides 936 string 
variables, bringing the total number of 
variables to 3,744. 

40 DEFSTR F-H: G = "Good bye." 

:H= "HeUo" 
50 YS = "youaIl.":F = CHRS(191) + " " 
60 PRINT F + H + YS + G 

Line 40 defines all variables starting 
with the letters F-H as string variables, 
and assigns sequences of characters to 
G$ and H$. 

Line 50 assigns a string to YS and as- 
signs character number 191 (a full white 
block) and two spaces to F$. Line 60 
uses the strings to print a block cursor 
and two sentences. 

Arrays 

Use numeric and string variables to 
identify arrays, or lists of values. The 
3,744 possible arrays are in addition to 
the individual variables. Each array has 
as many as 255 dimensions, and 65,535 
elements per dimension. 

You don't need to define arrays with 
fewer than 11 elements per dimension. 
You must dimension arrays with any 
element number above 10 before refer- 
encing the high element. 

If you define a variable as a certain 
type, you must dimension the variable 
array after that point as the same type 
unless otherwise specified by a suffix. 

70 DIM A(20,2): DIM G(26) 

80 FOR A = 1 TO 20: FOR B= 1 TO 2: 

A(A,B) ■ A B: NEXT B,A 
90 FOR A = 1 TO 26: G(A) = CHR$(A + 64): 

NEXT 

Line 70 dimensions two arrays. 
A(20,2) is a two-dimensional integer nu- 
meric array. G(26) is a single-dimen- 
sional string array. Remember, line 10 
defines A as an integer and line 40 
defines G as a string variable. 

Line 80 fills the numeric array with 
the numbers from 1-20 in one dimen- 
sion and the square of the numbers in 
the other dimension. Line 90 fills the 
string array with the code for the capital 
letters from A-Z 

Basic stores in memory all the variables 

^ See list of Advertisers on Page 291 



and arrays specified in a program, 
along with the information they repre- 
sent. Basic stores numeric variables just 
after the program that defines them. 
The storage process occurs as the pro- 
gram uses each variable. 

The program stores variables in 
memory in the order in which it encoun- 
ters them. Each name takes 3 bytes: 1 
for the variable type, and 2 for the 
name. The value assigned to numeric 
variables immediately follows. 

Basic stores integer values in the next 2 
bytes, single-precision in the next 4 bytes, 
and double-precision in the next 8 bytes. 
The length of the string in 1 byte and the 
address of the first character of the 
string in the 2 bytes follows the string 
variable's type and name. The program 
stores the data itself in high memory. 

Basic stores arrays in a list following 
the simple variables. Three bytes iden- 
tify the type of variable and the array 
name. Two bytes identify the total num- 
ber of elements, and 1 byte identifies the 
number of dimensions. Basic also 
allocates 2 bytes for each dimension to 
give the number of elements allowed per 
dimension. The program stores the 
data, one element at a time, starting 
with the first dimension. 

You can also use long names for the 
variables. Basic looks at the last char- 
acter to determine type, and ignores all 
characters after the first two unless they 
are reserved (key) words. Microsoft 
gives more variables than most pro- 
grams can use. 

Why all the confusion about vari- 
ables? Don't blame Basic, blame For- 
tran and the misinterpretation of books 
written by and for Fortran program- 
mers. Fortran begat Basic, and con- 
tained only a few integer variables, 
starting at I. 

Fortran had no strings, and virtually 
no organized structure. It was one of 
the first high-level languages, and is still 
the language of choice in most state-of- 
the-art scientific applications. 

Basic is an interpreter that uses much 
of Fortran's source code. It has greatly 
expanded the role and power of vari- 
ables. It also includes Basic-added 
numeric and string types, and many of 
the old restrictions are gone. The 
literature could not keep up. Many of 
the current problems are due to human 
factors that have seldom been addressed. 

Be careful not to use letters in situa- 
tions that could cause confusion. Elec- 
tronic connector manufacturers have 
noticed that people misread the letters 
G, I, O, and Q. G, O, and Q turn up as 
zero. I is a 1, and vice versa. Connector 




At Reviewed in 

80 Micro 12/82 Access 7/82 

80 US 2/83 Byte 12/81 

Electronic LDOS Quarterly 1/83 

Learning 6/83 SoftSide #36 

Standard Pascal with many 
special features including 
random files up to 16 mega- 
bytes, peek, poke, and call, 
accessable pointer variables 
(like C), include, chain, and 
rename, graphics. Call or write 
for FREE descriptive brochure. 

NOTE: We do have a trade-in 
available for those who purchased 
the old obsolete Ramware or 
Ram Parts Pascal 80. 

NEW! High Resolution Graphics 
package (requires Radio Shack 
board) including character 
generator and turtle graphics. 

Pascal 80 $99 + $2 shipping 

Pascal 80 School Package $295 
Pascal 80 Trial Version $14.77 
Graphics Package $39.95 



NEW ( CLASSICS 
SOF TWARE 



239 Fox Hill Road 

Denville, NJ 07834 

201-625-8838 



-255 



80 Micro, December 1983 • 175 



10 A% 


= 10: BC$= "HELLO" 


V = VARPTR(A<%) 


Mcnoiy 






Addras 


Vahtt 


Ducriptioa 


V-3 


3 


Integer type code 


V-2 





Fust letter of name (none) 


V-l 


65 


Second character of name (A) 


V 


10 


Low byte of the value 


V+l 





High byte of the value 


V+VARPTR(BC$) 


Memory 






AddreB 


Value 


Description 


V-3 


3 


String type 


V-2 


66 


First letter of name (B) 


V-l 


67 


Second character of name (Q 


V 


6 


Number of characters in string 


V+l 


254 


Least significant byte of address of first letter of string (H) 


V + 2 


121 


Most significant byte of first letter of string (H) 
(H) is found at 254 + (121*256), or 30,976 


Table 1. An example of integer and string storage in Basic. 



10 DEFINTA, B, V; 


B= \«b. V= 1.0: DIM A(10,2) 


20 FOR A 


= 0TO 10: A(A.0) = A+1: A(A,1) = A + 21:A(A.2) = A + 41: NEXT 


30 V = VARPTR(A(0,0)) 


40 FORB = 


-- - 10 TO 50: LPRINT PEEK(V + B):NEXT 


Meaory 






AfltfltS 


Vakae 


Description 


V-10 


2 


Integer variable 


V-9 





Name 


V-8 


65 


Name 


V-7 


71 


Number of elements 


V-6 





Number of elements 


V-5 


2 


Number of dimensions 


V-4 


3 


Depth of dimension 2 


V-3 





Depth of dimension 2 


V-2 


11 


Depth of dimension 1 


V-l 





Depth of dimension 1 


V 


1 


First element A(0,0) 


V+l 





First element A(0,0). . . 


V + 22 


21 


Element A(0,1) 


V + 23 





Element A(0,l). . . 


V + 44 


41 


Element A(0,2) 


V + 45 





Element A(0 J2) 


Table 2. A two-dimensional integer array and associated values. 



manufacturers use a 22-letter alphabet. 
That's the reason for the standard 
44-pin connector. 

I was the first of the few integers in 
Fortran, and since integers ran fast, 
they were used in most programming 
books as preferred variables. Everyone 
used them, and everyone had problems. 

G is not too bad on screen or on fully 
formed character printers, but if you 
have a dot matrix printer, watch out. O 
is a disaster when used alone, and it's 
even worse when used as the second let- 
ter of a variable name. 

Don't even consider Q unless the pro- 
gram context makes it unmistakable. 
QS for queen of spades in a poker pro- 
gram makes good sense, for instance. 

I is just as bad. It makes a bad second 
letter, and can cause confusion when 
used alone. IN is a handy name for in- 
put data, and if the context is clear, I is a 
reasonable first letter. 

The logical selection of variable 
names depends on the purpose of the 
program. Pick letters and combinations 
that form mnemonics recognizable to 
anyone familiar with the general subject 
area. X and Y are good names for 
variables that describe the X and Y plot- 
ting positions in a graphics package. 

D or T makes sense for loop variables 
used for time delays. NM$ is great for 
the name string in a mailing list program. 

Whatever you do, keep a variables 
list in alphabetical order as you write a 
program, and put arrays in a separate 
list. You need to know what the variables 
are, what they represent, and how 
they're used. Never use the same name 
for two types of numerical variables. 
176 • 80 Micro, December 1983 



Use the fewest number of variables 
possible to do the job. Nothing is wrong 
with specifying some variables as utility 
variables and using them repeatedly. 
Initialize them every time you use them 
and you'll never have a problem. 

Variables can change function as a 
program executes. Just list all functions 
in the variables list. Variables and ar- 
rays take up valuable memory, whether 
used once or 1,000 times, so their effi- 
ciency is important. Remember, you 
can never recover memory during pro- 
gram execution. 

Fewer variables mean higher speed. 
Basic interprets programs character by 
character. When it encounters a vari- 
able, the interpreter goes to the top of 
the variables list and starts searching for 
the name. 

Variables used frequently or in time 
sensitive routines should be at the top of 
the list. If the variable is number 100 on 
the list, the program reads 99 variable 
names, compares them to the desired 
name, and discards them every time you 
reference that variable. Moving the var- 
iable up to SO on the list doubles the 
speed of obtaining the quantity repre- 
sented by that variable. 

Assign critical values right at the start 
of the program. Remember to store string 
and numeric variables in different lists. 
Store string and numeric arrays in a sep- 
arate list, and assign values accordingly. 

Sometimes you'll want to know the 
location of a variable in memory. The 
POKE command can change the con- 
tents of strings, for example, or a ma- 
chine-language routine might need ac- 
cess to some data in memory. 



VARPTR(X) can get you to the right 
spot, but it's a tricky function to use. 
VARPTR(X) returns an error message 
if X is undefined in the program. If the 
program has not yet encountered X dur- 
ing the execution, VARPTR returns 
the memory location of the variable as 
part of the source code. This informa- 
tion is useless for determining type of 
value of the variable. 

If all simple variables have values, 
and you use VARPTR to find an array, 
any answer you get is subject to change 
and may be wrong. 

Assigning memory space to simple 
variables after arrays have been defined 
requires moving the array to make 
room for the simple variable. Table 1 
shows how Basic stores an integer and a 
string. Table 2 shows a two-dimensional 
integer array. 

Floating point numbers start with the 
least significant byte at location V. The 
number representation when playing 
with binary floating point numbers is 
too complex to go into here. Zilog and 
Intel have programming guides that can 
help, for those who are interested. 
Radio Shack information to date is 
superficial at best. 

That's enough on variables. In my 
next installment, I will take a look at 
Basic commands that let you get right 
into the hardware of your computer. ■ 

John Corbani's hobbies include pro- 
gramming, radio controlled model air- 
craft, sailing, railroading, skiing, and 
windsurfing. You can reach him at 2455 
Calk Linares, Santa Barbara, CA 
93109. 



UTILITY 



Take It Off 



by David Engelhardt 



Model 4 owners may need or want 
more space on their TRSDOS 6.0 sys- 
tem disks. Killing infrequently used 
system utilities yields the extra space, 
but TRSDOS 6.0 protects these utilities 
with a password. Before you can rear- 
range your disks, you must circumvent 
this protection. 1*11 show you how. 

Figure 1 shows the directory listing of 
an unaltered 6.0 disk. The letter P in the 
attribute (Attr) column identifies pro- 
tected files. 

The Concept 

Debug on TRSDOS 6.0 is more 
powerful than the Model HI version. It 



You can gain extra 
space on TRSDOS 6.0 
disks by killing protected 
utility files. Here's how. 



includes a new set of features, including 
a disk Read/Write utility. By taking ad- 
vantage of this utility in 6.0's revised 
Debug, you bring the system directory 
into memory, remove the password, 
and write the modified directory back 
to the disk. 



Drive :■ TRSDOS 6 9 


4f Cyl, DDEN, Free - 


43. SIR 


/ 


180.08K 


, Date 


10-Har-83 


Filespec HOC 


Attr Prot 


LRL 


•Recs 


EOF 


Pile Size 


Ext 


Hod Date 


BAR/BA5 




FULL 


256 


• 


• 




B.B0K 







CLICK/FLT 


P 


EXEC 


256 


2 


178 




1.50K 


1 


10-Har-83 


COM/DVR 


P 


EXEC 


256 


4 


45 




1.5IK 


1 


10-Har-83 


COMH/CHD 


P 


EXEC 


256 


12 


2 




3.BBK 


1 


10-Har-83 


CONV/CHD 


P 


EXEC 


256 


7 


38 




3.I0K 


1 


10-Har-83 


FLOPPY/DCT 


P 


READ 


256 


3 


35 




1.58K 


1 


10-Har-83 


FORHS/PLT 


P 


EXEC 


256 


4 


35 




1.50K 


1 


18-Har-83 


HERTI50/JCL 




FULL 


256 


2 


174 




1.50K 


1 


10-Har-83 


KSM/FLT 


P 


EXEC 


256 


4 


44 




1.58K 


1 


10-Mar-83 


LOG/ CUD 


P 


EXEC 


256 


2 


94 




1.50K 


1 


10-Har-83 


HAILLIST 




FULL 


256 


64 


87 




16.50K 


1 


10-Har-83 


MAILLIST/DAT 


? 


FULL 


256 


1 


255 




1.50K 


1 


23-Apr-83 


NBMOISK/DCT 


P 


READ 


256 


12 


149 




3.00K 


1 


10-Har-83 


REPAIR/ CHD 


P 


EXEC 


256 


3 


88 




1.50K 


1 


lB-Har-83 


TAPE100/CHD 


P 


EXEC 


256 


9 


72 




3.00K 


1 


10-Har-83 


15 


files 


out Of 37 


■elected. Space ■ 




42.00K 










Figure 1. 


TRSDOS 6.0 directory listing. 







6200 

6210 
6220 
6230 
6240 
6250 
6260 
6270 
6280 
6290 
62A0 
62B0 
62C0 
62D0 
62E0 
62F0 


5E 
F6 
5F 
F6 
15 
BF 
16 
BF 
16 
51 
16 
BF 

16 
BF 


83 
37 
03 
37 
03 
AE 
03 
AE 
03 
IF 
03 
AE 

83 

AE 


53 
P5 

53 
F5 
53 
96 
53 
96 
53 
96 
53 
96 

53 

96 


28 
9C 
89 
9C 
96 
42 
59 
42 
2E 
42 
49 
42 

5F 
42 


00 
0F 
00 
30 
00 
0C 
80 
03 
00 
04 
00 
09 

08 

02 


42 
00 
53 
00 
4D 
00 
52 
00 
43 
00 
54 
00 

4C 
00 


4F 4F 54 20 20 20 20 53 

00 02 PF FF FF FF FF FF 
59 53 36 20 20 20 20 53 
16 07 FF FF FF PF FF FF 
45 4D 44 49 53 4B 20 44 
0E 01 FF FF FF FF FF FF 
45 50 41 49 52 20 20 43 
09 40 FF FF FF FF FF FF 
4F 4D 20 20 20 20 20 44 
0C 20 FF FF FF FF PF FF 
41 50 45 31 30 30 20 43 
0A 01 FF FF FF FF FF FF 

4F 47 20 20 20 20 20 43 
09 00 FF FF PF FF FF FP 

Figure 2. Debug display. 


59 
PP 
59 
FF 
43 
PF 
4D 
FF 
56 
FP 
4D 
FF 

4D 

FF 


53 
FF 
53 
FF 
54 
FF 
44 
FF 
52 
FF 
44 
FF 

44 

FF 


*.S(.BOOT 


SYS 


_.S..SYS6 


SYS 


..S..HBHDISK 


DCT 


..SY. REPAIR 


CHD 


..S..COH 


DVR 


..SI.TAPE100 


CHD 


..S_.LOG 


CHD 







Your TRSDOS 6.0 manual discusses 
this utility on pages 1-75. When you in- 
voke a disk utility command, you must 
specify six parameters relevant to the 
operation that tell 6.0 how to proceed. 
You need to indicate the number of the 
disk drive, the cylinder number, the 
starting sector, the type of operation 
you want to perform, the memory ad- 
dress, and the number of sectors. 

The Read/Write utility allows a pos- 
sibility of four disk drives, 0-3. 

TRSDOS 6.0*s name for tracks is cyl- 
inders, and you must cite cylinder val- 
ues in hexadecimal (hex) units. There- 
fore, the range of possible cylinders on 
a 40-track disk is 0-27 hex. 

The starting sector indicates where 
you want to begin reading from the 
disk. 

The Read/Write utility performs 
three operations: it writes to a disk (the 
W command), reads from a disk (R), 
and writes to the directory (*). 

The address value tells the system 
where in memory to load the informa- 
tion read from the disk. Again, this 
value must be hexadecimal. 

You control how much of a disk the 
system reads by specifying a number of 
sectors. If you don't specify, the pro- 
gram reads a whole cylinder (18 sectors). 
Since sectors are numbered 0-17, se- 
lecting a sector number greater than 17 
tens the software to continue reading 
onto the next cylinder. 

Removing the Protection 

Begin the unprotecting process with a 
little insurance. Instead of altering your 
original disk, make a back-up copy and 
use that. If anything goes wrong while 
you're tampering with the disk direc- 
tory, you won't be able to recover the 
working disk. 

Place the back-up in drive zero. Type 

the command FREE :0 to determine 

which cylinder holds the directory. The 

80 Micro, December 1983 • 177 



directory location is labelled DDD, and 
is usually at cylinder 20. 

At the TRSDOS Ready prompt, type 
DEBUG (ON.EXT) and press the enter 
key. The Debug monitor loads, then 
control passes back to the Ready 
prompt . Press the break key to enter the 
Debug monitor and a three-quarters 
screen display of the Z80 register values 
appears. 

Type F6000,7800,00 and press the 
enter key. This clears the memory you 
want to use. 

Load the disk's directory into memo- 
ry using the Disk Read/Write utility 
command: 0, 1 4,0, R, 6000, 17 and press 
the enter key. The software reads disk 
cylinder 14 hex and places the informa- 
tion in memory beginning at 6000 hex. 
Then the utility displays the contents of 
memory, starting at 6000 hex — this is 
the disk's directory. 

Pressing the semicolon key incre- 
ments the display 256 bytes of memory 
at a time; the hyphen key decrements 
the display by 256 bytes. Step through 
memory until the starting address of 
6200 hex appears on the screen. 

In the far right column, the file 
names appear in ASCII format. As you 
step through memory, the names of all 



the disk's files show up. Notice that 
some of these names don't appear when 
you take a directory of the disk. See 
your manual's explanation of the DIR 
command for more about these "invisi- 
ble" files. 

Figure 2 shows the Debug display of 
memory beginning at 6200 hex. This in- 
cludes the directory information for the 
utilities Memdisk, Repair, Com, Tape- 
100, and Log. The line on which the 
ASCII file name appears represents the 
beginning of each directory entry. 

Looking at the first byte in the first 
line of each utility, notice Memdisk 
begins with a 15; Repair, Com, Tape- 
100, and Log begin with 16. This byte 
tells the system the program's protec- 
tion level. Changing this changes the 
program's protection. If the value is 10 
hex, the program is completely acces- 
sible. 

Try unprotecting Memdisk for prac- 
tice. Type E6240 and press the space bar 
to set Debug's pointer to Memdisk's 
first line. Notice that the current byte 
value appears at the lower left of the 
screen. 

Type 10 and press the enter key. The 
display reflects the change you made. 
The first byte of Memdisk is 10, mean- 



ing that Memdisk is now unprotected. 

Type E6260 and press the space bar. 
The pointer moves to the beginning of 
the Repair utility. Change its initial byte 
to 10. Continue making these changes 
until you alter all the utility programs. 
Remember: You've made these changes 
in memory only, not on the disk. 

To replace the disk's directory with 
your modified directory, use another 
disk Read/Write utility command. It's 
almost the same as the one that puts the 
directory in memory. Just change the 
operator from R to an asterisk. Type 
0,14,0,*,6000,17 and press the enter 
key. Type the letter O and press the 
enter key to return to TRSDOS Ready. 
Turn off Debug using the command 
DEBUG (OFF). 

Call the directory using the DIR com- 
mand and you see that the programs 
you changed no longer have the P at- 
tribute. You are free to copy or kill 
them at your discretion. 

Use this technique to customize your 
6.0 disks to suit your needs. 

(For related information, see the 
sidebar on the next page. — Eds.jM 

Contact David Engelhardt at 10221 
W. 101st Place, Broomfield, CO 80020. 



■bill TOCO I IOC Now for Mod III and 4 

The Grafyx Solution® with Depth 




Outstanding Grafux. SUftFACC PLOT 
lets you brooden your imagination by 
creating amozing three-dimensional 
views with Grafyz Solution. Micro-Lobs' 
Grafux Solution is o plug-in, dip-on boord 
which gives you 98,304 points in a 512 
x 192 matrix. That's sixteen times as 
many points as a stondord Model Ml 
Another unique feature is the ability to 
display the hires screen along with the 
normal text and low-res screen. 



Flexible Gro/uw. SLWFflCC PLOT allows 
uou to enter an equation of the form 
Z=F(X,V) where Z is the height above 
the surface for a given X, V coordinate. 
For example, entering the equation Z= 
10-X* draws a hill. The final picture con 
be viewed from any position in space so 
you can see an image from underneath, 
above, or even inside a hi or volley on 
the plot surface. You can also specify the 
size of the resulting image. 

Complete Grafyx. The program 
automatically removes hidden lines for 





best results. The documentation contains 
complete instructions and sample equa- 
tions so that you will hove your computer 
hard at work without delay. The finished 
plot can be saved on disk or printed on 
any of 20 popular printers. 

The Grofyx Solution package is shipped 
from stock and includes the board, 44 
programs including an 80-Cotumn display 
driver and extended Graphics Bask, and 
a 54 page manual oil for $299.95. The 
SURFfKC PLOT program, twelve hi-res 
pictures, and manual is $39.95. Shipping 
is FflCC on pre-paid or COD orders. (Tx. 
residents odd 5% sales tax.) <*fe TIsT 

464 Micro-Labs, Inc. 214-235-0915 

902 Pinecrest, Richardson, Texas 75080 



178 • 80 Micro, December 1983 









The Password Is . . . 

by David Lantis 

At one time or another, you've 
probably run across a Model 4 disk 
file you wanted to list but couldn't 
because it was password-protected. 
One way to gain access is to remove 
the password protection, but that 
leaves the Mies open to anyone. 

A better solution is to use this 
Basic program and the Memdisk 
utility to uncover the password. This 
leaves your files protected against ac- 
cidents, while still giving you com- 
plete freedom. 

Program Operation 

PASSCRCK/BAS (see the Pro- 
gram Listing) searches for the pass- 
word of a protected file on the disk in 
drive zero. The program systemati- 
cally tries every possible combination 
of letters and numbers until it hits 
upon the successful one. 

The On Error and Resume state- 
ments in lines 10 and 5000, respec- 
tively, are PASSCRCK/BAS's key. 
They keep the program running as 
long as it makes errors, i.e., as long 
as it generates an incorrect password. 

Lines 30-160 loop around, testing 
every possible alphanumeric value 
for each of seven possible password 
characters (stored in variables C2- 
C8). Line 170, the loop that tests the 
value of the first character (CI), is 
different from those in the previous 
lines because TRSDOS 6.0 requires 
that a letter begin a password. 

Lines 180-200 tally the values of 
the individual characters (C1-C8) 
into P$, the variable that holds the 
password possibility currently being 
tested. Line 210 is optional; it prints 
P$ on the screen. While it's helpful 
to know how far along the program 
is, this line does slow execution. 

Line 220 sets the variable FILES 
equal to the command that lists your 
selected program, LIST FILE NAME/ 
EXTENSION PASSWORD, where 
password is the possibility the pro- 
gram tests. 

Line 230 goes out to the system to 
test the password. If the program is 
successful, then the program listing 
appears on the screen. Finally, the 
software prints the line LIST FILE 
NAME/EXTENSION PASSWORD 
at the top of the screen. Get a pencil 
and write down the password. 



Unfortunately, this program is 
slow. It tests tens of thousands of 
possible combinations of letters and 
numbers. In addition to the time it 
takes to test the password, the disk 
drives wait one second between the 
time they start spinning and the time 
they begin reading the disk. Multiply 
this second across the number of 
password possibilities tested and 
we're talking about hours, maybe 
days. 

Speeding Things Up 

Memdisk, a TRSDOS 6.0 utility, 
helps speed things by creating a 
pseudo-disk in memory. This cir- 
cumvents the physical disk I/O that 
takes so much time. Your TRSDOS 
6.0 manual documents the Memdisk 
utility on page A-l 16. 

To run PASSCRCK/BAS with 
Memdisk, move the system files, 
Basic's error reporting overlay BA- 
SIC/OV1, and the program you 
want to crack into memory on Mem- 
disk. (If BASIC/OV1 is protected on 
your disk, remove the protection 
using the method described above.) 

Type SYSTEM (DRIVE = 2, 
DRIVER = "MEMDISK") and press 
the enter key. The Memdisk utility 
menu appears. Choose option D, 
specify a double-density Memdisk 
(type D again), and respond Y to the 
format request. If you ask for a di- 
rectory (DIR), you see that drive 2 
now contains Memdisk. 



Type in BACKUP $/SYS:0 :2 
(SYS) to tell the computer to copy all 
system files onto disk 2, the disk in 
memory. 

Typing in BACKUP BASIC/ 
OV1:0 :2 moves the Basic overlay 
program onto Memdisk. This cir- 
cumvents the physical disk I/O 
involved when PASSCRCK/BAS 
fails and BASIC/OV1 reports, "Ac- 
cess denied due to password pro- 
tection." 

Type in BACKUP file/ext:0 :2 
(where file is the name of the pro- 
gram you're cracking) to move the 
program onto Memdisk. 

Typing in SYSTEM (SYSTEM = 2) 
installs Memdisk as drive zero. Re- 
questing a directory now shows phy- 
sical drive zero as drive 2 and Mem- 
disk as drive zero. 

Type in BASIC/CMD:2 to run 
Basic. Then, from Basic's READY 
prompt, load and run PASS- 
CRCK/BAS. When the program 
asks "File you wish to list?" enter 
the name of the program you want to 
crack. 

With the Memdisk method im- 
plemented, PASSCRCK/BAS tests 
about 100 passwords per minute. 
Carried to its ultimate end, the pro- 
gram reaches its final possibility 
(password ZZZZZZZZ) in approxi- 
mately 1,041 years. But the chances 
are that the software will encounter 
the correct password well before 
then. ■ 



10 ON ERROR GOTO 5000 

20 INPUT'What file to list -- must be on disk 0-jFS 

30 FOR C8-32 TO 90 

40 IP (C8>32 AND C8<48) OR (C8>57 AND C8<65) THEN 320 

50 POR C7-32 TO 90 

60 IP (C7>32 AND C7<48) OR (C7>57 AND C7<65) THEN 310 

70 POR C6-32 TO 90 

80 IP (C6>32 AND C6<48) OR (C6>57 AND C6>65) THEN 300 

90 POR C5-32 TO 90 

100 IP (CS>32 AND C5<48) OR (C5>57 AND C5<68) THEN 290 

110 POR C4-32 TO 90 

120 IP (C4>32 AND C4<48) OR (C4>57 AND C4<68) THEN 280 

130 POR C3-32 TO 90 

140 IP <C3>32 AND C3<48) OR (C3>57 AND C3<68)THEN 270 

150 POR C2-32 TO 90 

160 IP (C2>32 AND C2<48) OR (C2>57 AND C2<68) THEN 260 

170 POR Cl-65 TO 90 

180 P1$-CHRS(C1)+CHRS(C2)+CHR$(C3)+CHR$(C4) 

190 P2S-CHRS(C5)+CHRS(C6)+CHR$(C7)+CHRS(C8) 

200 P$«P1$+P2$ 

210 PRINT P$ 

220 PILE$-"liat "+P$+V+P$ 

230 SYSTEM PILES 

240 PRINT PILES: END 

250 NEXT CI 

260 NEXT C2 

270 NEXT C3 

280 NEXT C4 

290 NEXT C5 

300 NEXT C6 

310 NEXT C7 

320 NEXT C8 

330 PRINT 'Couldn't find the password, I guess you'll have to fi 

re ae'tEND 

5000 RESUME 250 

Program Listing. Password Sleuth. 



80 Micro, December 1983 • 179 




micro 

BOOKSHELF 



SPECIAL INTERESTS 



MICROSOFT BASIC DECODED AND OTHER MYS- 
TERIES— by James Earvour. From the company that 
brought you TRS-80 DISK AND OTHER MYSTERIES. 
Contains more than 6500 lines of comments for the dis- 
assembled Level II ROMs, six additional chapters de- 
scribing every BASIC subroutine, with assembly lan- 
guage routines showing how to use them. Flow charts 
for all major routines showing how to use them. Flow 
charts for all major routines give the reader a real In- 
sight Into how the interpreter works. BK1 186 $29.50. - 



PROGRAMMING THE Z-80-by Rodnay Zaks Here is as- 
sembly language programming for the Z-80 presented as 
a progressive, step-by-step course This book is both an 
educational text and a self-contained reference book, 
useful to both the beginning and the experienced pro- 
grammer who wish to learn about the Z-80 Exercises to 
test the reader are included BK1122 $1635 ' 



ASSEMBLY LANGUAGE GRAPHICS FOR THE TRS-80 
COLOR COMPUTER— by Don Inman and Kurt Inman 
with DYMAX. This dynamic new book uses sound and 
graphics to show you how 6809 assembly language can 
be used to perform tasks that would be difficult or Im- 
possible with BASIC. All of the techniques are explained 
in a hands-on approach. Learn how to tailor you own pro- 
gramming style, from editing, assembling, executing 
and even debugging, to making your own programs run 
quickly and efficiently. It is also packed with video 
screen diagrams which explain each step of the process 
of creating your own graphics. BK1277 $??.?? 



TRS-80 COLOR BASIC— Bob Albrecht. Learn how to use 
the unique color, sound and graphics of the TRS-80 Color 
Computer. This self-teaching guide uses a learn-as-you- 
piay format to teach Color BASIC. Packed with games, 
experiments, programming problems, and solutions, it is 
an ideal introduction for children, teachers, and adults. It 
starts with simple concepts and takes you on to more 
complicated games, graphics, and activities, including 
many chances for you to try out your newly learned pro- 
gramming skills. Included is an entire chapter on pro- 
gramming problems, which offers tip on adapting to Mi- 
crosoft BASIC on other personal computers. BK1280 
$10.95 



SO YOU ARE THINKING ABOUT A SMALL BUSINESS 
COMPUTER— By Richard G. Canning and Nancy C. 
Leeper. For a well-organized manual on the process of 
selecting the right computer system for your small 
business, this text can't be excelled. Designed to Intro- 
duce the novice in data and word processing to the real 
benefits of computerization, the book is filled with 
money- and time-saving tips, photos of equipment, 
lists of suppliers, prices, explanations of computer ter- 
minology, and helpful references to additional sources 
of information. Everyone contemplating a first com- 
puter installation should have this book. BK1222 
$14.00* 



THE CUSTOM TRS-80 AND OTHER MYSTERIES-by 
Dennis Kitsz. More than 300 pages of TRS-80 customiz- 
ing information. With this book you'll be able to ex- 
plore your computer like never before. Want to turn an 
8 track into a mass storage unit? Individual reverse 
characters? Replace the BASIC ROMs? Make Music? 
High speed, reverse video. Level I and Level II? Fix it 
if it breaks down? All this and much, much more. 
Even if you, have never used a soldering iron or 
read a circuit diagram, this book will teach you how! 
This is the definitive guide to customizing your 80! 
BK1218 $29.95.' 



PROGRAMMING«6809 



6809 MICROCOMPUTER PROGRAMMING AND 

INTERFACING — by Andrew C. Staugaard. Jr. Getting 
involved with Tandy's new Color Computer? If so, this 
new book from the Blacksburg Group will allow you to 
exploit the awesome power of the machine's 6809 
microprocessor Detailed information on processor ar- 
chitecture, addressing modes, register operation, data 
movement, arithmetic logic operations, I/O and inter- 
facing is provided, as well as a review section at the 
end of each chapter. Four appendices are included 
covering the 6809 instruction set. specification sheets 
of the 6809 family of processors, other 6800 series 
equipment and the 6809/6821 Peripheral Interface 
Adapter This book is a must for the serious Color Com- 
puter owner BK1215 $13.95 " 



TRS-80 DISK AND OTHER MYSTERIES— by Harvard C. 
Pennington. This is the definitive work on the TRS-80 
Model I disk system. It Is full of detailed "How to" infor- 
mation with examples, samples and in-depth explana- 
tions suitable for beginners and professionals alike. 
The recovery of one lost file is worth the price alone. 
BK1181 $22.50.' 



INSIDE LEVEL II— For machine language program- 
mers. This is a comprehensive reference guide to the 
Level II ROMs, allowing easy utilization of the 
sophisticated routines they contain. It concisely ex- 
plains set-ups, calling sequences, variable passage 
and I/O routines. Part II presents an entirely new com- 
posite program structure which unloads under the 
SYSTEM command and executes in both BASIC and 
machine code with the speed and efficiency of a com- 
piler Special consideration Is given to disk systems 
BK1 183 $15.95.* 



Nanos System 
REFERENCE CARDS 

FOR MODELS I, II, III, COLOR AND 
POCKET COMPUTERS! 

At last! No more flipping through the pages of the 
BASIC manual 1 No more working through the maze 
of machine language instructions! These cards 
completely summarize the BASIC and Assembler 
manuals! FEATURES INCLUDE: 
memory map. eyeball graphics, math instructions, 
BASIC commands, store instructions, BASIC func- 
tions, load instructions, BASIC statements, move 
instructions, special keys, exchange instructions. 
PRINT USING examples, shift instructions, BASIC 
special characters, compare instructions. BASIC 
and assembler messages and codes, branch in- 
structions, BASIC facts, data alteration instruc 
tions, reserved words, I/O instructions, ROM 
routines, complete character chart with graphics 
and space-compression codes, hex-dec chart, con- 
trol code cross-reference, assembler instructions, 
commands and operators, screen line layout, editor 
commands and subcommands, condition code 
easy access. 

Plus— "magic graphics number— a mystery until 
you learn how to use it! 

Designed as a fold-up, accordion-style card, fits in 
your pocket. Panels organized for optimum speed 
for reference. 

Model I: BASIC and Assembler FC1002 $4.95 

Model II: BASIC and Assembler FC1005 $5.95 

Model ll:Comnands and Utilities FC1010 $3.95 

Model III: BASIC and Assembler FC1005 $5.95 

Color BASIC and Extended FC1006 $4.95 

Z-80: Microprocessor FC1011 $4.95 

ZX80, ZX81 and Tlmex Sinclair 1000: FC1012 $5.95 
Pocket Computer B ASIC FC 1 009 $2.95 

Apple II and Apple II Plus: BASIC and 6502 FC1008 

$4 95 
Apple II and Apple II Plus: BASIC only FC1007 $3.95 



MASTERING CP/M — by Alan R. Miller For advanced 
CP/M users or systems programmers who want max- 
imum use of the CP/M operating system, this book 
takes up where the CP/M Handbook leaves off. It will 
give you an in-depth understanding of the CP/M 
modules such as CCP (Console Command Processor!, 
BIOS (Basic Input/Output System), and BDOS (Basic 
Disk Operating System). It explains the Incorporation 
of additional peripherals to the system, console I/O, 
the use of the file control block and much more It also 
includes a library of useful macros and a comprehen- 
sive set of appendices. BK1263 $1635 



HI <s»-.-»<~. 

A-oi hi R \\\sn RIES 




A USER GUIDE TO THE UNIX SYSTEM by Jean Yates 
and Rebecca Thomas. Here at last is a clearly written 
book that allows you to use the Unix operating system 
easily, and at a fraction of the time it previously took. If 
you're using, evaluating or simply curious about this sys- 
tem, this is your book, BK1242 $15.99 



WORDSTAR MADE EASY by Walter A Ettlln. Now Word- 
Star is as simple to learn as it is easy to use. This book 
teaches WordStar in 14 easy lessons, saving hours of 
hard work. It comes with a convenient pull-out Command 
Card. BK1239 $7.95 









HB^jfl 1 


ka tlork to I 

WORD processing! 




B? 



INTRODUCTION TO WORD PROCESSING by Hal 
Glatzer. This book explains in plain language what a 
word processor can do. how to use one. how it improves 
productivity — especially in businesses that handle lots 
of words— and how to buy one wisely. No technical 
knowledge required, for all first-time users and those 
considering purchasing a word processor. BK1238$12S5 



"Use the order card in this magazine or itemize your order on a separate piece ot paper and mail to: 80 Micro Book Department • Peterborough NH 03458 Be sure to Include 
check or detailed credit card information. NoC.O.D. orders accepted. $1.50 for the first Book, $1.00 each additional book for U.S. delivery and foreign surface For foreign airmail 
$10.00 per book Please allow 4-6 weeks for delivery Questions regarding your order? Please write to Customer Service at the above address. 



For Toll Free Ordering Call 1 800 258-5473 



PRICES SUBJECT TO CHANGE WITHOUT NOTICE 



180 • 80 Micro, December 1983 








micro 

BOOK SHELF 



y^i^i 



TEXTEDIT 

a complete 

wordproces^ng 
system in kit 
^yOm. 



by 
iv- - EUpp*porl 



l«-f»W^ , * 1 ».a. AWA 



ANNOTATED BASIC-A NEW TECHNIQUE FOR NEO- 
PHYTES — BASIC programming was supposed to be 
simple— a beginner's programming language which 
was so near to English that Is could be easily 
understood. But, in recent years, BASIC has become 
much more powerful and therefore much more difficult 
to read and understand. BASIC simply Isn't basic 
anymore. 

Annotated BASIC explains the complexities of 
modern BASIC. It includes complete TRS-80' Level II 
BASIC programs that you can use. Each program is an- 
notated to explain in step-by-step fashion the workings 
of the program. Programs are flowcharted to assist 
you in following the operational sequence And— each 
chapter includes a description of the new concepts 
which have been introduced. 

Annotated BASIC deals with the hows and whys of 
TRS-80 BASIC programming. How is a program put 
together? Why is It written that way? By observing the 
programs and following the annotation, you can devel- 
op new techniques to use In your own programs — or 
modify commercial programs for your specific use. 
Annotated BASIC Volume 1 BK7384 $10.95 
Annotated BASIC Volume 2 BK7385 $10.95 
Order Both Volumes and Save! BK738402 $18.95 



COMPUTER CARNIVAL-by Richard Ramella. Your 
child can become a crackerjack computerist with the 
sixty TRS-80 Level II programs In COMPUTER CARNI- 
VAL. This large-type, spiral bound book for beginners 
is a veritable funhouse of games, graphics, quizzes 
and puzzles. Written by 80 Micro columnist Richard 
Ramella, the programs are challenging enough to en- 
sure continued learning, yet short enough to provide 
your child with the Immediate delight and reward of 
mastering basic computing skills. And for even greater 
enjoyment, get the CARNIVAL COMPANION, a 30-mln- 
ute cassette containing all the programs in the book 
Eliminates tiresome typing and lets your child spend 
more time en|oylng the programs. BK7389 $16.97 
CC7389 Book and Cassette $24.97 



THE NEW WEATHER SATELLITE HANDBOOK-by Or 
Ralph E. Taggart WB80QT. Here Is the completely up- 
dated and revised edition of the best-selling Weather 
Satellite Handbook — containing all the information on 
the most sophisticated and effective spacecraft now 
in orbit. Dr. Taggart has written this book to serve both 
the experienced amateur satellite enthusiast and the 
newcomer. This book is an Introduction to satellite 
watching, that tells you how to construct a complete 
and highly effective ground station. Not |ust ideas, but 
solid hardware designs and all the instructions neces- 
sary to operate the equipment are Included. An entire 
chapter is devoted to microcomputers and the Weath 
er Satellite Station, and for the thousands of experi- 
menters who are operating stations. The New Weather 
Satellite Handbook details all the procedures neces- 
sary to follow the current spacecraft. Weather Satellite 
contains Operation Satellite Systems, Antenna Sys- 
tems. Weather Satellite Receivers, A Cathode Ray 
Tube (CRT) Monitor for Satellite Picture Display, A Di- 
rect-Printing Fasclmlle System for Weather Satellite 
Display, How to Find the Satellite, Test Equipment. Mi- 
crocomputers and the Weather Satellite Station, Sta- 
tion Operations BK7383 $8.95.' 



THE SELECTRIC INTERFACE— by George Young. You 
need the quality print that a daisy wheel printer pro- 
vides but the thought of buying one makes your wallet 
wilt. SELECTRIC' M INTERFACE, a step-by-step guide 
to interfacing an IBM Selectric I/O Writer to your micro- 
computer, will give you that quality at a fraction of the 
price George Young, co-author of Kilobaud Microcom 
putmg magazine's popular "Kilobaud Klassroom" 
series, offers a low-cost alternative to buying a daisy 
wheel printer. SELECTRIC INTERFACE includes, step 
by-step instructions, tips on purchasing a used Selec- 
tric. Information on various Selectric models, Includ- 
ing the 2740, 2980, and Dura 1041, driver software for 
Z80. 8080, and 6502 chips, tips on Interfacing tech- 
niques. With SELECTRIC INTERFACE and some back- 
ground in electronics, you can have a high-quality, low- 
cost, letter-quality printer. Petals not included BK7388 
(125 pages) $12 97 




KILOBAUD KLASSROOM-by George Young and Peler 
Stark Learning electronics theory without practice isn't 
easy And it's no tun to build an electronics proiect that 
you can't use Kilobaud Klassroom, the popular series 
first published in Kilobaud Microcomputing, combines 
theory with practice This is a practical course in digital 
electronics It starts out with very simple electronics 
projects and by the end of the course you'll construct 
your own working microcomputer! 

Authors Young and StarK are experienced teachers, 
and their approach is simple and direct. Whether you're 
learning at home or in the classroom, this book provides 
you with a solid background in electronics— and you'll 
own a computer that you built yourself! BK7386 $14 95 



TEXTEDIT— A Complete Word Processing System In 
Kit Form— by Irwin Rappaport. TEXTEDIT is an inex- 
pensive word processor that you can adapt to suit your 
differing needs— from form letters to lengthy texts. 
Written In TRS-80 Disk BASIC, the system consists of 
several modules, permitting the loading and use of on- 
ly those portions needed. A disk Is also available which 
provides the direct loading of the modules, however, 
the book Is required for documentation. For Model I 
and III with TRSDOS CONVERT., one disk drive (2 disk 
drives or copy utility needed to transfer to system 
disk). Runs under TRSDOS 2.2/2.3. May not function 
under other systems. BK7387 $9 97 Disk DS7387 $19 97 



40 COMPUTER GAMES FROM KILOBAUD MICROCOM 
PUTING— Forty games m an in nine different categories 
Games tor large and small systems, and even a section 
on calculator games Many versions o> BASIC used and 
a wide variety of systems represented A must for the 
serious computer gamesman BK7381 $7.95" 



WAYNE GREEN BOOKS 



How to 
Make Money 
With 
Cooipc/tars** 







BASIC & PASCAL 



HOW TO MAKE MONEY WITH COMPUTERS-ln 10 in 
formation-packed chapters. Jerry Felsen describes 
more than 30 computer-related, money-making, high 
profit, low capital investment opportunities. 
BK1003 $15.00.- 

INTRODUCTION TO PASCAL— By Rodnay Zaks. A 
step by-step introduction for anyone wanting to learn 
the language quickly and completely. Each concept is 
explained simply and in a logical order. All features of 
the language are presented in a clear, easy to-under 
stand format with exercises to test the reader at the 
end of each chapter It describes both standard 
PASCAL and UCSD PASCAL, the most widely used dla 
lect for small computers. No computer or program- 
ming experience is necessary. BK1188 $1635 



PROGRAMMING IN PASCAL -by Peter Grogono The 
computer programming language PASCAL was the 
first language to embody in a coherent way the con 
cepts of structured programming, which has been 
defined by Edsger Di|kstra and C A R Hoare As such, 
it is a landmark in the development of programming 
languages PASCAL was developed by Niklaus Wirth 
in Zurich, it is derived from the language ALGOL 60 but 
is more powerful and easier to use PASCAL is now 
widely accepted as a useful language that can be effi- 
ciently implemented, and as an excellent teaching 
tool It does not assume knowledge of any other pro 
gramming language and therefore suitable for an in- 
troductory course BK 1140 $12 96." . 



"Use the order card in this magazine or itemize your order on a separate piece of paper and mail to: 80 Micro Book Department • Peterborough NH 03458. Be sure to include 
check or detailed credit card information No COD. orders accepted $1 .50 for the first book. $1 00 each additional book for US delivery and foreign surface For foreign airmail 
$10.00 per book Please allow 4-6 weeks for delivery Questions regarding your order - ? Please write to Customer Service at the above address 



mi_U SUSJtCT TO CM»NO€ WITHOUT NOTICC 



For Toll Free Ordering Call 1 800 258 5473 



80 Micro, December 1983 • 181 



Finding the 
Search Solution 

Continued from p. 115 

of the two keys and uses the composite 
key signature for the search. For exam- 
ple, to search for the record containing 
the keys "lane" and "walk", the pro- 
gram logically ORs the key signatures 
of "lane" and "walk" to produce a 
composite key signature (Fig. 4). 

You then compare each record signa- 
ture with the composite key signature. 
Only the record signature of the string 
"Jill walks up the lane" matches (for 
every bi equal to 1 in the composite key 
signature, a bi equals 1 in the record 
signature). 

The program identifies the string 
even though the search key "walk" is 
only a substring of the word "walks". 
This is an important feature of the sig- 
nature screening method. You need to 
specify only three or more letters of a 
word to fmd it. The substring can be 
from any position in the word. 

Signature Screening 
on an 8-Bit Machine 

The detective who helped us earlier 
has gone home to watch reruns of Perry 
Mason, and it's time to get to work. 
First, I'll describe the general aspects of 
implementing signature screening on 
8-bit machines. Til follow this with an 
explanation and complete Assembly- 
language listings of two signature 
screening programs (Mindex and 
Search) for the Models II, 12, 16, III, 
and 4. 

Finally Til give instructions on using- 
the programs, suggest potential applica- 
tions, and venture a prediction on how 
personal computers will store and 
retrieve textual information in the 
future. 

Source and Index File Structure 

Start with a simple case in which each 
text record is 255 or fewer bytes and is 



followed by an end-of-record indicator 
(ASCII 13). The program stores only 
one record per disk sector. Figure 5 
shows a 10-sector source file, the rec- 
ords in each sector, and the correspond- 
ing index file. 

The index file has the same name and 
password as the source file, but the ex- 
tension MAP. The first sector of the in- 
dex file, called the header, contains the 
name and version of the indexing pro- 
gram (Mindex 1.2) and the source file's 
file specification. The source file's drive 
number isn't included since the user 
might wish to switch drives. 



The remainder of the index file sec- 
tors are called signature sectors. Each 
signature sector contains eight record 
signatures stored in parallel. Think of it 
as eight 251 -bit strings stacked one on 
top of another. The record signature of 
the nth source file record is located in the 
(INT(n/8)+ l)th sector of the index file 
and comprises the (n mod 8)th bit of 
bytes zero to 250. 

Neither Mindex nor Search uses the 5 
bytes (251 to 255) at the end of each sig- 
nature sector. In Fig. 5, you can find the 
signature of the first source record (sec- 
tor zero) by reading the first bit (bit 



Sector 
number 




Index FBe 
FILE1/MAP 




Source Fie 
FILEl/rXT 


Sector 
number 





Mindexl.2 




FILE1/TXT 
























bird 

















cat 


1 














horse 


2 
















Jill 


3 












1 






















Tom 


4 














Jack 


5 














goat on the hill 


6 














cat and dog 


7 














_^^ 


Jack and Jill 


g 






^^^ 




2 


<S 






















ran up the hill 


9 



Figure 5. Source file (FILE1/TXT) and its index file (FILEl/MAP). 



Signature 

I 



























OTO10000000000000000010000W10000^^ 

000 1 0000000000 1 0000000000000 1 000000000000000000000000000000000 1 WXXXXXXXX)000(XXXXX)0<XXX)(XXXX>001^ 

0001 0000000000000000000000001 000000000000000000000000000001 C»O0OO0(XXXXX>(XXX)OC>0OOOOCXXX)0OOO0O0OOC»O^ 

0OOOOO0(X)C<XX)OOO0<XX>00O00000O0O^^ 

oc» i oooooooocw 1 ocjoooooooocxw 1 axxxxxioooocxxxttcioc^ 



String 

He ran dovri the lane 
Jill walks up the lane 
The goat ran up the la 

Jill 

valks ♦ lane 



Figure 4. Record signatures of the three strings in Table 2 and key signatures of the search keys "Jill" and "walks + lane". 



182 • 80 Micro, December 1983 



tt 



0. 



1 



HARD DISK MODEL 4 







6 MEG FLXED + 5 MEG REMOVABLE 82895.00 

10 MEG FLXED 8895.00 

10+10 MEG FIXED 8495.00 

1 M EG ELX ED + 5 M EG REMOVABLE 3395.00 

15 MEG FIXED 13895.00 

15+15 MEG FLXED 3795.00 

15 MEG FIXED + 5 MEG REM( )VABLE 3495.00 

ADAPTOR MODULES for: 

TKS-80 Mod I. III. 4, LNW-80, -II, 

IBM-PC -XT, XEROX 820. -II 

Coining soon adaptors for Apple-II, lie, Franklin 







I 'ndcr desk mounting bracket 
Boot ROM for Model III. 4 
Extended Warranty (to 1 vear) 



84,95 

34.95 
150 00 



81649.00 

1 28K Model 4 

2 Drives, VR-R-S232C 

16K to 64K RAM upgrade kit 896.00 

64K ti > 1 28K RAM upgrade ( includes PAL ) 1 1 0.00 
PAL only for 64K to 128K upgrade 34.95 



DISK III 



Internal floppy disk subsystem for Model III & 4 (in- 
cludes controller, power supply, cabling, bracket and 
all associated mounting hardware). 

DISK III KIT - Without drive 8899.95 

DISK III KIT — With 1 drive (ss. dd) 449.00 

DISK III KIT - With 8 drives (ss, dd) (399.00 



EXTERNAL FLOPPY 

DISK DRIVES (ss.dd) 8229.00 

80 Track or 2 sides add. per dr 1 00.00 

80 Track and 2 sides add. per dr 200.00 

EXTERNAL Power supply & enclosure only 54.95 
VR-RS832C 80.00 

Model III & 4 - Direct replacement for 26-1 148 



SPECIAL BITS OX COD & PREPAID ORDERS ONLY: 



EPS< )N FX80, MX80, MXHK) CALL 
CITOHF10 1395.00 

(" IToiI TRACTOR 885.00 

MX80 RIBBON 9.98 

MX100RIBBON 19.95 

crrona diablo ribbons 7.50 

EPS* >NGRAPHTRAX 75.00 



PAPER 9Vfcx 11 FANFOLD 8995 

PAPER I4»kx 11 GREEXBAR 34.95 
PRINTER CABLES 86.00 

I >K1DATA MICR( »LIXE 82A 48900 
I iKIl IA TA MICR( >LINE 88A 699.00 
PERCOM DOUBLER II 169.00 

PERCOM DATA SEPARATOR 29.95 
I..NW RESEARCH (FULL LINE)CALL 



DOS-PLUS OPERATING 

SYSTEM 149.95 

VERBATIM 525-01 26 90 

DC HAVES 

SMARTMODEM 800 229.00 

DC HAYES 

SMARTMODEM 1200 569 00 



Call Toll Free • 800-345-8102 



Published price* reflect canh dtacuani All prices my subject 

to chtinge tvlihoul notice TRS-80 and TRSI * >S arc irademarkH ■ >l 

Tandy ' !orp. 



Telephone Houni 8e80un— 7pm MON-FRL.SAT 10-8 EST 
CABLE "VRDATA" TELEX K4.S 184 



m 



MasterCard 








data 



(215)461-5300 

777 Henderson Blvd., 
FolcrofLPA 19032 



*• See Ust ot Advertisers on Page 291 



VR DATA - WEST 
WATONGA, OK 

1-405-623-8664 

80 Micro, December 1983 • 183 



zero) of each of the bytes in the first sig- 
nature sector. 

Indexing 

I'll index the file in Fig. 5. First, the 
program reserves a 256-byte buffer in 
memory for the signature sector. After 
it opens the source and index files and 
writes the index file header sector, the 
program starts indexing. 

The program sets all the bytes in the 
signature sector buffer to zero. The pro- 
gram reads the first source file record 
into memory. It then hashes each triplet 
in the source record to a number be- 
tween zero and 250, and sets bit zero of 
the corresponding byte in the signature 
sector buffer to 1. In the first source 
record the triplets "bir" and "ird" hash 
to 171 and 194, respectively, so the pro- 
gram sets the first bits of bytes 171 and 
194 of the signature sector to 1 . 

After the program processes the first 
record, it reads the second record (sec- 
tor 1) into memory. Again, the program 
hashes each triplet in the record, but this 
time the program sets bit 1 of the corre- 
sponding byte equal to 1. The triplet 
"cat" hashes to 193 so the program sets 
bit 1 of byte 193 of the signature sector 



tol. 

The program repeats this procedure 
until it indexes eight of the records. It 
then stores the signature sector buffer in 
the index file (sector 1). The program 
processes the next eight sectors of the 
source file in the same manner, and se- 
quentially stores the signature sector in 
the index file. Indexing continues until 
the end of the source file, then the pro- 
gram writes the last signature sector to 
the index file and closes both files. 

Searching 

Remember that in its simplest form 
the search algorithm is: Match the 
signature of the first record to the key 
signature. If, for every bi equal to 1 in 
the key signature, you have a cor- 
responding bi equal to 1 in the record 
signature, the screening test is positive 
and the program brings the record into 
memory and searches it for the key. 
Continue screening record signatures 
until you reach the end of the index file. 

An ideal way to compare the key sig- 
nature to a record signature is to have a 
machine with 251 -bit registers and ac- 
cumulators. You could compare the key 
and record signatures in one operation. 



Search key Jill 

Triplets jil 01 

Hash values 212 142 



Key hash buffer 



21 
14 

22 



Figure 6. Search key "Jill" for search of the 
source file in Fig. 5. 



It would be a form of parallel process- 
ing — the same as putting multiple nee- 
dles in edge-notched cards and selecting 
only those cards that fall out. 

Eight-bit machines, however, neces- 
sitate the use of serial processing. 
Although a program can sequentially 
compare all 251 bits of the key and 
record signatures, it would be waste- 
ful because the majority of bits in the 
key signature are set to zero and can be 
ignored. 

Instead, the program stores the hash 
values of all triplets in the search key in 
a separate buffer called the key hash 
buffer (Fig. 6). If, for each hash value in 
the key hash buffer, the corresponding 



Listing 3 continued 

• 1162 i 

• ••63 iKODII buffers 

tan , 

• ••65 PUBLIC ACCESS [access mode at OPEN routine 

• ••66 PUBLIC BREAK ;oroak cndabled outlet <Y/N) 

• ••67 PUBLIC INDCB iINp.it (source) file DCB 
'••69 PUBLIC IDCBRL ;Input file DCB Record Length 
MM! PUBLIC IDCBCR )Input file DCB Current Record 

• •»7« PUBLIC IDCBLR t Input file DCB Last Record 
•••71 public INLLR itrue lilt record of source file 

• ••72 PUBLIC IDCBOS i Input file DCB lliuil 
•••73 PUBLIC KAPDCB ;NAP (Index) file DCB 

•••7 4 PUBLIC MDCBRL ; Nap file DCB Record Length 

•••75 PUBLIC KDCBCR [Map file DCB Current Record 

•••76 PUBLIC NDCBLR [Map file DCB Last Record 

•■•77 PUBLIC NAPLLR itrue last record of index file 

• ••78 PUBLIC NDCBOS iHap file DCB <»i<a» 
•••79 PUBLIC HEMEND (contents ->top of memory 

••••• PUBLIC OOTCHR j record buffer (1 byte) for output file 

•••81 PUBLIC OUTOCB (Output file DCB 

•••62 PUBLIC PRTBUF (printer buffer (81 char) 

•••83 PUBLIC SORLN /start of record line no. 

•••84 PUBLIC STNAP (Start of MAP index file (always last b 

• ••65 (Of SEARCH program) 

•••86 ( 

• ••87 [NODI I I/O parm 
(H88 

B(0B9 PUBLIC ARROWD (arrow down 

••••• PUBLIC ARROWL (arrow left 

•••91 public arrowr [arrow rlqht 

••092 Public arrowu [arrow up 

• ••93 PUBLIC BRXXEY ,-break Key 
•••94 public BSPKEY [back space Key 

•••95 PUBLIC CPYPOS [copyright nag position 

•••96 PUBLIC DELKEY [delete key 

•••97 PUBLIC DFTPS [default file size 

•••98 public inskey [insert Key 

•••99 PUBLIC LSBYTE [Col of last byte in 255 byte rec 

••II* PUBLIC PENULN [penultimate line (next to bottom) 

Hill public swidth [screen width 

03102 PUBLIC SMI (screen width minus 1 

••113 PUBLIC TOPLN [top line of editor screen 

Mill [ 

Hill [external routines and buffers 

HIM [referenced by NODI I 

1(1)7 , 

••1»8 EXTERN ANSWER [general purpose 1 byte buffer 

• 0109 EXTERN EATBHK [bypass leading blanks 

Mill EXTERN EATNBNK [bypass leadinq non-blank cnar 

••111 i 

••112 [Model II equates 

BB113 

00114 ARROWD EQU 1FH [arrow down 

••115 ARROWL EQU 1CH [arrow left 

••116 ARROWR EQU 1DH [arrow right 

•0117 ARROWU EQU 1EK [arrow up 

00118 BRKKEY EQU 3 (break key 

00119 SWIDTH EQU 80 [screen width- 

0012« SWM1 EQU 79 iscreen width minus 1 

00121 TOPLN EQU 19 [top line of edit text 

B0122 PENULN EQU 22 [penultimate line 

00123 LSBYTE EQU 14 (Column of last byte in 255 byte rec 

00124 DFTFS EQU BOB (default file size for 3by5 
•0125 DELKEY EQU 2 [delete key (P2) 

•8126 INSKEY EQU 1 (insert key (Fl) 

00127 BSPKEY EQU H [backspace key 

•B128 CPYPOS EQU 52 [Copyright notice position 

• •129 i 

00130 [HONE 

((131 , 

01132 [pos cursor to il:cl 

01133 [reg altered: AF.D 

0(134 I 

08135 [BOTTOM 

(8136 [ 

00137 [ P os cursor to r24:cl 

00138 [reg altered: AF.D 



0(139 HONE PUSH BC 

00140 LD BC,0 ICllCl 

00141 HONE5 LD D,» 

00142 SVC 10 ipos cursor 
•B143 POP BC 

•0144 RET 

0(145 [ 

0S146 BOTTOM PUSH BC [pos cursor to r24:cl 

• •147 LD BC,23*256»0 ,-r24:cl 
0)148 JR HONES 

• •149 l 

ceiso [NEWLN 

0S151 l 

00152 [rolls screen and positions 

B0153 [cursor to next to last line 

80154 :also keeps track of first line of 

00155 [current (cr last) record displayed 

••156 ireg altered: A 

00157 NEWLN PUSH BC 

0O15B PUSH DE 

•B159 PUSH HL 

08168 CALL BOTTOM jpos to bottom line 

••161 LD A.0DH 

00162 CALL VDCHAP [roll screen by dsp EOR on Dotton line 

• 8163 LD BC, 22*256*0 ,-r23:cl 
0B164 CALL POSCUR 

00165 LD A, (SORLN) 

00166 CP 4 [has first line reached top of screen? 
••167 JR Z.NEWLNS [if it has do not dec ISORLN1 

•B168 LD A, (SORLN) 

•(169 DEC A [dec (SORLN) 

0(170 LD (SORLN) ,A 

•0171 NEWLH5 POP HL 

00172 POP DE 

0)173 POP BC 

0(174 RET 

0017 5 [ 

00176 iCURPOS 

((177 , 

0(178 [ get cursor position 

•8179 [value returned in BC 

•0180 [B-row, C-column 

••181 [reg altered: AF.D 

(•182 CURPOS LD D,0 

00183 SVC 11 [get cursor pos 

00184 RET 

• •185 ( 

os Hi, iPoscur 

((187 , 

00188 [position cursor 

00189 [B-row, C-column 
••19t [reg altered: AF.D 
00191 POSCUR LD a, I 

0tl92 SVC )• [pos cursor 

BB193 RET 

••194 l 

0(195 [KBINIT 

• 0196 

• 0197 KBINIT SVC 1 ,-inltlllze Keyboard 
•0190 RET 

0«199 l 

C02«B [KBCHAR 

((2(1 , 

0(2(2 [get char from keyboard 

0(2«3 [works like Model III KBCHAR 

002(4 [value of pressed key returned 

0(205 iln A reg. If no key pressed, A-0 

00206 KBCHAR PUSH BC 

••207 LD B,l 

•0208 LD A,'N' 

O02e9 LD (BREAK), A (set break switch to N (no break) 

• •21t SVC 4 [Model II KBCHAR 
•0211 LD A, (BREAK) 

••212 CP '»' iwas break key pressed 

••213 JR :,KBCH6 

08214 LD A,B jmove entered char to A reg 

••215 POP BC 

••216 RET 

Listing 3 continued 



184 • 80 Micro, December 1983 



EE/EPROM PROGRAMMERS & UV ERASERS 



AFFORDABLE * RELIABLE • AVAILABLE 



UV ERASERS 

QUV-T8/1 

$49.95 

•HOBBY 

0UV-T8/2N 

$68.95 

'INDUSTRIAL 

QUV-T6.2T 

$97.50 

'WITH TIMER 
& SAFETY SWITCH 

GANGPRO-8 ' 

$1,295.00 

(GANG 

PROGRAMMER) 



RS-232 serial, STAND ALONE, INTELLIGENT 

'EASY DUPLICATION 'USER FRIENDLY '128K BUFFER 

SUPPORTS MOST 8K 16K. 32K. 64K. 128K. 256K EPROMS 
PROMPRO-8 KEY PAD OPTION. EPROM SIMULATION MODE 

Microcomputer Chips 8748 (H|, 8749H, 8750. 8751. 8741 8742. 8755A 

SOFTWARE DRIVERS: MDS ISIS. TEKTRONICS 8002 IBM PC. ATARI 
APPLE II. CPM. FLEX. TRS-80 

DIRECT HOOK UP TO ANY DUMB TERMINAL OR COMPUTER 
DISTRIBUTOR INQUIRY WELCOME 

LOGICAL DEVICES INC. 

1321 E N.W. 65 Place, Ft. Lauderdale, FL 33309 
Phone Orders (305) 974-0967 TWX 510-955-9496 




• 330 




WHERE DID ALL 

THE MONEY 



TALLYMASTER offers a new, powerful, 
easy- to-use way of summarizing and ana- 
lyzing budgets and expenses It's designed 
for personal and small business use by peo- 
ple who need quick answers to the question, 
"Where Did All The Money Go 7 " 

Like most PROSOFT products, 'TALLY- 
MASTER" originally was developed just 
for oui own use To find out why oui expen- 
ses kept rising, we looked for a quick and 
easy way to categorize our bills The check 
register gave too much detail, and with 
"VISICALC", it was hard to just add new 
numbers at random. 

TALLYMASTER takes a simple, com- 
mon-sense approach to organizing and 
summarizing expenses and sales Up 
ti i 702 categories can be defined As 
numbers are added to them, new to- 
tals are shown instantly It's like 
having a room full of calculators, 
all in easy reach. Totals can be sor- 
ted, reports printed, and disk files 
comb i' 




TALLYMASTER's handsome documen- 
tation has a step-by- step tutorial, with dozens 
of examples and illustrations. We've even 
included five sample disk files for you. 
Whether you're managing a home budget or 
business expenses, this program can give 
you better understanding and control. It 
helped us, and it can help you. 

TALLYMASTER is available for the 
TRS-80 Models I and III (48K) and the 
IBM Personal Computer (128K) The 
TRS-80 version is just $79.95 The IBM 
version, with functional keys and an 
extra-fast sort, is just $129 95 








Dtpl C. Soi 560. Ho Hollywood. » 91(03 

(213) 764-3131 
Toil-Free order lines: 
(800) 824-7888 oper 422 



Terms: VISA. MC, CHECKS. COD., or even cash • No P.O.'i. Pleas* add $3 00 shipping /handling 
in USA., $5.00 to Canada, SIS. 00 overseas For COD please add $2.00 in U.S. only, add 
sales tax in California, we ship within one day of receiving orders 



^9\ 



,- See list of Advertisers on Page 291 



80 Micro. December 1983 • 185 



ThE BVTE 

GENERAL 

3SierksLane 
Rosryn Harbor, NY 11576 

24 Hour Order Lines 

516-625-0920 

516-338-4083 ^ 

FREE SHIPPING IN THE U.S.A. 

TRS-80: 

Model 4, 16k $849 

Model 4, 64k, 1 Drive $1320 

Model 4, 64k, 2 Drives, RS-232.$1575 

Model 100 Portable 8k $659 

Model 100 Portable 24k $830 

Covered by The R/S 
90 Day Warranty. 



Elephant Diskettes: 

#1 SS/SD Soft 

#2 SS/DD Soft 

#5DD/DDSoft 

#10DS/SDSoft96tpi 



.$15.95 
.$18.95 
.$25.95 
.$28.95 



Modems: 

Signalman Mark I . . . 
Signalman 300/1200 
Smartmodem 300 . . . 
Smartmodem1200. . 
Smartmodem 1200B 

IBM version 

Novation J-Cat 

Smart Cat 300/1200 . 



..$74 
.$259 
.$199 
.$479 



.$449.95 

. . . .$119 

...$420 



Printers: 

Prowriter 8510ap $354 

Prowriter 1550 Call 

Prowriter Ribbons $7 

FKMOcps $1125 

Fl0-55cps $1339 

Tractor for F10 $189 

Bananna Printer $189 



Practical Peripherals: 

Epson Buffer 

Par/Ser. (Epson) $119.95 

Microbufter Inline 

Par/Ser. 32k $209.95 

Microbufter Inline 

Par/Ser. 64k $239.95 



Look Around, Find The Beit Prices 
kmd Tfco Cw rol WW Boot Th— . 

FREE SHIPPING 

Dealer Inquiries Invited 



TERMS OF SALE: There is a 2% Service Charg. 

fof Mastercard or Visa COD Orders Add $2 50 Orders 
Undw $30 plane add S2 shipping and handNng. 



record signature bit equals 1, the screen- 
ing test is positive, and the program 
searches the source record for the key. 
Since it isn't efficient to compare 1 bit at 
a time on an 8-bit machine, the program 
processes eight record signatures at 
once. 

To search the file in Fig. 5, you must 
first open the index file, then the source 
file specified in the index file header. 
The search begins when you enter a key 
(e.g., the name "Jill"). 

The program hashes each triplet of 
the key and stores the hash value se- 
quentially in the key hash buffer (Fig. 
6). In the example, it stores the hash val- 
ues 212 (h(jfl)) and 142 (h(ffl)) respec- 
tively in the first and second bytes of the 
key hash buffer. 

Then the program reads the first sig- 
nature sector of the index file into the 
signature sector buffer in memory. It 
sets the accumulator (A) to 255 (1111 
1111 binary). The program ANDs byte 
212 (hash value of the triplet "jil") of 
the signature sector with A. 

If A equals zero, the triplet "jil" isn't 
present in the first eight sectors of text 
and you can process the next signature 
sector. If A doesn't equal zero, the trip- 
let "jil" might be present, so the pro- 
gram continues to process the current 
signature sector. 

The program ANDs byte 142 (hash 
value of the triplet "ill") of the signa- 
ture sector with A. Skip to the next sig- 
nature sector if A equals zero; otherwise 
continue as follows. For each bit in A 
equal to 1 it's possible (but not certain) 
that the corresponding record contains 
the triplets "jil" and "ffl". 

In the example, A equals 72 (0100 
1000 binary), indicating that sectors 3 
and 6 might contain the key you're 
looking for. The program reads record 
3 into memory and searches sequential- 
ly for the string "Jill". It finds the key 
and displays the record. 

Then the program reads record 6 into 
memory, but the key "Jill" isn't present 
so it bypasses the record. The reason for 
the collision is simple — the triplet 
"goa" hashes to the same value as "jil" 
and the triplet "HI" appears in both 
records. 

The program sequentially reads the 
index file a sector at a time and process- 
es each signature sector similarly. After 
it screens the entire index file and 
searches the appropriate source records, 
you can enter another key to restart the 
searching process. 

Searching for the joint occurrence of 
two or more keys is merely an extension 
of the above procedure (search the file 
for the names "Jack" and "Jffl"). The 



'The program processes 

eight record signatures 

at once. " 



program stores the hash values (123, 4, 
212, and 142) of the triplets "jac", 
"ack", "jil", and "ill" in the key hash 
buffer. 

The program reads the first signature 
sector into memory and sets the ac- 
cumulator to 255. It ANDs byte 123 of 
the signature sector with A. Similarly, it 
ANDs bytes 4, 212, and 142 of the 
signature sector with A. 

If at any time A equals zero, none of 
the eight source records contains both 
strings, and the search skips to the next 
signature sector. In the example, only 
bit 5 equals 1 , so it's the only source rec- 
ord searched. The program finds the 
names "Jack" and "Jill" and displays 
the record. 

In these simple examples only one 
record is present per sector. When two 
or more records completely fit into one 
sector, the program indexes the entire 
sector as one record. When the program 
searches the sector, however, it exam- 
ines each record separately for the 
search key(s). If a record spans a sector 
boundary (starts in one sector and ends 
in another), it is considered as logically 
in the first sector in which it begins. 

You increase the speed of searching 
by storing as many signature sectors as 
possible in memory (reducing the 
number of disk reads during index 
screening). 

TRS-80 Signature Screening 

Mindex and Search are Assembly- 
language programs that use signature 
screening to search text files. Mindex in- 
dexes the source file and stores the index 
on disk. Search uses the index created 
by Mindex to search large text files 
quickly. 

These programs were written with the 
Radio Shack Assembly Language De- 
velopment System (ALDS) on a Model 
II. Each program consists of several 
modules. The two input/output (I/O) 
modules include MODII/SRC for the 
Model II and MODII1/SRC for the 
Model III. 

The ALDS editor, assembler, and 
linker work only on the Model n. If you 
have a Model in and want to use these 
programs exactly as written, you must 
first write, assemble, and link them on a 
Model II and then, using the ALTRAN 



186 • 80 Micro, December 1983 



Listing J continued 






Hill 


MOM 


u> 


A.) 


;<brea*> preeaeil Ao A") 


Hill 




pop 


ac 




MM* 




HIT 






Mai 

MUl 










1 






iianAiT 


••212 

•1221 
















mil far caar froo keyboard 


■mm 








mill Ilka Modal II OMAIT 


MR 


ISKMT 


rasa 


M 




••22* 




LB 


»•• 




•■227 




LD 


A, '■" 




N22I 




LD 


<SUaI),Jk 


llaltlallia te ao braak 


M22* 


(■M 


SVC 


4 




Hat 




rosi 


AT 




MUl 




U> 


A,(MS*I) 




•■at 




cp 


•T' 


i<braaa> pceaaadr 


Nl)l 




J* 


l r IM 


lip ka braak porraaaliaf aactlaa 


••2)4 




pop 


AT 




Hill 




JR 


M,ISW4 


i loop until kay pr eared 


HM 




LD 


A,» 


laova entered rey to A reg 


••2)7 




pop 


K 




Hat 




in 






••21* 


OH 


POP 


AT 




••24* 




u> 


A,) 


1 braak kay entered 


••24) 




POP 


»C 




•1242 




RET 






•124) 
••244 
















IMMMI 


•124) 
••24* 
















jword proceaalng. KBfcTAIT routlna 


••247 








ion tha Hodal II this la basically 


••141 








icha aaaw u tha KBUAXT routlna 


••24t 


WUrUfT 


rosa 


K 




MM* 




LD 


B,l 


i blinking euraor on 


M1S1 




svc 


| 




•12)1 




LD 


■ ,■ 




HM) 


mm 


CALL 


UHAIT 




M2S4 




LD 


C.A 


jaave keyed In char 


MM) 




LD 


■ >2 


icureor off 


HIM 




SVC 


• 




M2S7 




LD 


A.C 


iraatora kayad in char 


MM* 




POP 


K 




HHt 




MT 






Hill 
••2*1 
















lOPSSi 


MM2 
MM) 
















loam file 


••2(4 








laatryi SL-> Buffer 


MM) 








1 DE->DCB 


••2** 








laalti A-nsBOS arror bh 


MM7 








rteg altacadi ap.il 


••241 


orta 


LD 


(BOP ADA) ,1L 




M2if 




LD 


BL,aaPAD» 




••271 




SVC 


41 


lapan file SVC 


M271 




PUSH 


AT 




M272 




LD 


A>l 




••27) 




LD 


(PL).* 


utt racord length to 2M by ten 


■•274 




POP 


AT 




••27) 




«CT 






M27I 


i 








••277 


supksa. 


DEPW 


I 


j buffer addraaa (paaaad by ID 


••271 


MCADH 


nam 


■ 


I racord addraaa (not needed for lit byte red 


••27* 


tOO AC 


DEf» 


I 




M2M 


ACCU5 


Dm 


■a' 


iraad only aecaaa 


••2(1 


M 


DE»B 


I 


I racord lanotb (aat to I) 


••2(2 


vow 


DETB 


•p- 


i variable or flxad laa racord 


•121) 


CUATC 


Deri 


• 




••2*4 
M2M 
M2M 


ATT* IB 


Dktb 


• 








IISJIT 


••217 

••111 
















ilnltlallaa (craata) a (11a 


MM* 








lantryi lL->racord buffer 


112*1 








1 DE-)DCB 


••2*1 








■ ailt'i A-nsDOt arroc as? 


MM2 








ira* altaradi AT.SL 


••2*) 


IMT 


LD 


(BUPAD»I) ,HL 




••2*4 




LD 


■l, BUT AMI 




••)•) 




SVC 


«t 




HHt 




POSH 


Af 




M2*7 




LD 


A,l 




••in 




LD 


(RD.A 


i racord lenght - 2M 


M2** 




POP 


AT 




■•)*• 




HIT 






••>■! 


| 








M)(2 


aupu»i 


Dm 


f 


■addraaa of lector buffer 


•■)•) 


UCADBI 


Dm 


■ 


1 addraaa of racord bullet 


MJM 


tOCADI 


DDK 


■ 




••)•) 


ACOBMI 


Dm 


■W 


i aecaaa • (w) rite 


•DM 


*U 


Diri 


■ 


I racord length - 2M bytas 


M)*7 


VMPI 


DtPR 


•P' 


(filed length recorde 


••)•• 


aum 


Dirt 


2 




HIM 


*TT»I»I 


Dec* 


f 




MM* 


■ , 








Mill 








lOPINIT 


M)12 










M>1> 








lapaa a file bat do not raaat It 


M)14 








laatryi HL-> aactor raad buffer 


MMS 








l DO-XK* 


•DM 










M117 








iraaj altaradi Ar.M.IL 


Mill 


oriciT 


LD 


A,* 




••))» 




LD 


lauTm ,a 


ropen aaly do not raaat 


Hfff 




LD 


K.ODTCn 


> racord buffer 


M)21 




LD 


<UCAM»),K 




•D22 




LD 


(S07ADR0) ,IL 


■•actor baffar addraaa 


M)2) 




LD 


BL,BUPABH0 




■D24 




ran 


Dl 


jaave DE i D, in c-a»e open (alia 


•D2) 




rasa 


■L 




•D2t 




LD 


A.(AJKVn) 




••127 




CP 


'■' 




•*)2* 




J« 


I,0PIK3 




HIM 




SVC 


4* 


lopan 


••»• 




OP 


I,0PIN4 




Mill 


OP1H3 


LD 


A, 2 


I craata and raaat 


••))] 




LD 


(CP.EATX0) ,A 




••))) 




POP 


1L 




M))4 




POP 


DE 




••))) 




SVC 


4* 


lopan 


•DM 




«ET 






•D)7 


0*114 


pop 


1L 


l raatora atack 


MM 




POP 


DI 




••))* 




aer 






MM 


1 








Hill 


MirmiBO Dm 


S 




M)42 


MCABHO DVV 


§ 




M)4) 


too ado 


Dm 


1 




MM4 


ACCtMO DKTI 


■■)■ 




HMS 


■to 


Deri 


1 




HMt 


votro 


DEPB 


•r' 




M)47 


CIUTIO DETI 


• 




M)4* 


imiH 


DET1 


t 




M)4* 


UUTUU 


DCft 


■ 


1 racord buffer 


•DM 

m 
















■CLOdl 


MM2 
MM) 
















icloaa flla 


■D)4 








(entry. Dt->DCB 


•DM 








■aalti A-TSSDOS arror mag 


•DM 


OMt 


SVC 


42 


icloaa flla 


MM7 




■ST 






HMt 

MM* 
















ismu 


MM* 
MM1 
















i 

l eat RAP laat racord to traa la at rac 


MM2 








Ithla routlna la nacaaaary to aaka proa,raaa 


MM) 








icoaoattbla ulth nodal III 


MM4 


SETHLR 


LD 


HL,<IU)CBL») 




MM) 




LD 


(HAPLLA) ,HL 


■no need to dec IL on Hod II 


•DM 




*rr 




Listing 3 continued 



DISCOUNT 



TRS 80™ Model I & III 

External Mini Disk Drives 





Single Chassis 

With Power Supply 

Fully assembled silver chassis with external card edge connector 
for easy cable installation. Chassis includes power supply and one 
Tandon drive. 



TM 100-1 

With Chassis . 

TM 100-2 

With Chassis . 



$235 
$295 



Tandon Bare Drives: 
TM 100-1 

Single Sided 40 Track 

TM 100-2 

Double Sided 40 Track 

CDC Bare Drives 
9409 

5V< " Double Sided 40 Track 



$179 
$239 

$239 



Printers 



Epson: 
RX80 

100 CPS PAR 10" 

FX80 

160 CPS. PAR-10" 

FX100 

160 cps. par ir 

Star Mlcronics: 

GeminMOX 
120CPS PAR 10' 
Gemlni-15X 

15X 

120 CPS, PAR-10' 



Call 
Call 
Call 

5299 

$439 



Okidala. 

ML82A 
120CPS.SER* PAR-10" 

ML92 

160 CPS PAR-10' 

ML83A 

120 CPS. SER4 PAR-10" 

ML93 

160CPS.PAR-15" 

MUMP 

200CPS.PAR-15" 



-395 
-489 
*659 
-849 
-990 



Free Shipping! 

Order Now - Toll Free 

1-800-531-5475 (If Outside Of Texas) 

(512) 250-1523 (In Texas) 



VISA * MasterCard * Money Order * Cashier's Check 
Add W» Sales Tax If Texas Resident 

TRS It HA Tndmvt Of T—dy Corp. " 252 




Compuflcld 



Corp 



13010 Research Btvd 

Suite 101 

Austin. TX 78750 



w Sm Uti ofAdmtkm* on ta 281 



80 Micro, December 1983 • 187 



programs supplied in the ALDS pack- 
age, transfer them to the Model III. 

Alternatively, you can write and as- 
semble the programs using a simple edi- 
tor/assembler such as Radio Shack's 
Series I Editor/Assembler (EDTASM). 
EDTASM does not contain a linker so 
it's necessary to combine the modules 
into one program for Mindex and 
Search. 

I first developed Mindex and Search 
(version 1.1) on a Model III using 
EDTASM. However, the editor's 
memory was limited and the program 
comments were restricted. 

When I switched to the Model II, I 
started using ALDS. Much to my cha- 
grin, the operating systems of the two 
machines are quite different. For exam- 



ple, to display a character on the Model 
III, you load the character into the ac- 
cumulator and make a call to location 
33 hexadecimal (hex). The routine alters 
the contents of the DE register pair. 

On the Model II, you load the char- 
acter into register B, load the supervisor 
call code 8 into the accumulator, and 
execute an RST 8 operation. The DE 
register pair isn't altered. 

Rather than rewrite the program for 
the Model II, I developed separate I/O 
routines for the Models II and III. Since 
I wrote the original programs for the 
Model III, the parameters pass to the 
I/O routines in Model III format. 

For example, the program stores the 
character you want displayed on the 
screen in the accumulator. A few of the 



Model II routines (SVCs) aren't present 
in Model III TRSDOS so I added them 
(such as routines to position the cursor 
at coordinates stored in the BC register 
pair). 

If you're using Radio Shack's ALDS, 
type in the program modules in Pro- 
gram Listings 1-3 and 7-12 for the Model 
II, and Listings 4-12 for the Model III. 
After the ALDS writes each module, 
you must assemble them to relocatable 
code by using ALASM, the ALDS 
assembler. 

After ALASM assembles all mod- 
ules, you're ready to link them. For the 
Model II, type ALLINK MINDEX2 
MINDEX $ = 4000 to link the Mindex 
program and ALLINK SEARCH2 
SEARCH $ = 4000 to link the Search 



Listing 3 continued 



11341 

Il!«t 
11345 
1*371 

••971 
M372 

1*373 
1*174 
••175 

• •374 

• •177 
»»376 
1(379 
1(36* 



1*3*8 
••3*9 
»*39* 
1*391 

• •392 

• 1393 
f*39« 
1*395 
1*396 
1*397 
)*396 
1*399 
114*1 

• •4*1 

• •4(2 
••4*3 
1*4*4 
11*1! 
1*4*6 
1*4*7 
**4*8 
11419 
(•41* 

• •411 
1*412 
M413 
••414 

•*4i: 

• •416 
••417 

• •416 

• •419 

• •421 

• •421 
••423 

• •423 
•1414 

• •425 

• *42« 
••427 

• •42* 

• •429 

• •43) 
••431 
••432 

• •433 

• •434 

• 1435 

• •436 

• 1*37 

• •436 



setilr ld 



tit 



••443 

• •444 

• •445 

• •444 
•1447 

• •44* 

• ••49 
III'! 

• •451 
••452 
1*453 

• •454 
••455 

• •456 
••457 

• •456 



• •461 

• •463 

• •461 

• •464 

• •465 

• •46« 
••467 
M46B 

19469 



CBL1N3 LO 



KBL*5 CALL 



CALL 



CALL 
DEC 

DEC 



iSETILR 

;aat input last etc to tru* laat i«c 



BC,*prrfH 

35 

DE.OUTDCB 

33 

BC 

DE.OUTDCB 

IS 



ata flla cursor to last char 



' 


sve 

RET 


15 


iREADDR 


PEADDP 


iraad dlract 

lantryi DE->DCB,BC»rac no. 


P.EADNX 


SET 


34 


jraad naxt racord 
lantryi OE->DCI 




SVC 
RE? 


44 


> MUTE 


WHITE 


i.rlta dlract 

|DE->DCB, BC-rac BO. 




SVC 

PET 


43 


iKRITMl 


•m 


iwrlta nait tacord 
lantryi DE->DCB 



A, 3 

XBLB3 
A,*DH 

(EORCHR) ,A 
A,l 
VDCHAR 

Cjl 

KBWAIT 

D.A 

•DH 

Z.KBLtDH 

i* 

Z.RBLBSP 

BRKKEY 

Z.RBBRJt 

2*H 



Z,KBL*5 

A,0 

CHL1 ,A 



ilBLINE and RBLXN3 

1«BLINE| EOR-1DH, RBLIK3i EOR-3 

IB • bas lanqth 

lEOR-IDH or 13 

iraturna with laat char antarad In A 

I EOR-3 



■blinking cursor 

t<sntar> kay7 

j <backapaca> kay? 

Kbraak> k«y7 



KBLIDH LD 



«BL*5 

A, (EORCHR) 

(ML) ,A 

VDCHAR 

A.BRXKEY 

I EORCHR) ,A 

RSL43DI 

A, (EORCHR) 

(HL) ,A 

VDCHAR 

HL 

A, 2 



.display COR 
iraturn «lth A-braak 

;placa EOR (13 or IDH) 

idlaplay EOR 
)HL->byta past EOR 



• •471 

• •471 
••472 
••473 
•■474 
•1475 

• •476 
••477 
••47* 



1*464 

• 1485 

• •4*6 



• •493 

• •494 
••495 

• •496 
114*7 

• •491 

• 1499 

• 15M 

• •5)1 

• •512 
1*513 
••5(4 

• •5*5 
**5«6 

• 15(7 

• •5*1 
••5(9 

• •Sit 

• •511 

• •512 
••513 
1*514 

• •SIS 

• •516 

• •517 

• •SIB 

• •519 
11521 

• •521 
••522 
MS23 

• •524 

• •525 

• •526 

• •527 

• •528 

• •529 

• 153* 
••531 

• •S32 
••S33 
••534 
HS3S 
MS36 
••537 

• •536 

• •539 

• •541 

• •541 
••542 
••543 
1*544 

• •545 

• •544 
■ •547 
••54* 

• •549 

• •55) 
•1551 
••552 

• •553 
•IS54 

• •555 
••556 

• •557 

• •558 
••559 

• •561 
••561 

• •542 
1(563 



• •544 

• •547 

• •568 
4(549 
»*57* 
••571 



EORCH" tit! 



PVSH 
p: SB 
sve 

POP 

POP 

pet 



VCCHAR PVSH 



sve 

POP 

POP 
PET 



SVC 
POP 
PET 



CALL 

POP 

pi:t 



Z.VDL12 
VDL15 
A, 2 
VDCHAR 



VDL312 LD 



I.VCL312 
VDL3I5 
A.2 
VDCHAR 



iPRINIT 

;lnltlsllia print 



SCRPRO 


PUSH 


BC 


jacroll protact 






U) 


lit 

27 


lA contalna Una 


no. 




POP 


BC 








RET 








' 




A, 161] 


1 ERASES 




ERASES 




acraan coda 




CALL 


VDCHAR 








RET 








ERASEl. 


LD 

CALL 
RET 


A.17H 
VPClAft 




Mm 



/VDCHAR 
idlsplsy chsr 



raan and lnltlall 



lantryi HL-/atrlnij 

l*DH or (1 stop dlaplay 

laslti HL ->nait char 



IVDL1H3 



■display \in» but no car 
jantry. HL->atrlr.a 
j(DH or (3 stop display 
jDOES NOT PRINT (DHII 
laslti HL ->na«t char 



Listing 3 continued 



188 • 80 Micro, December 1983 



PUT PRICES IN CHECK 



RADIO SHACK * 

ZIP BOX RELOADS FOR 

LINE PRINTER 
I, II. & IV 



INNOVATIVE 
CONCEPTS 

FLIP'NFILE 

DISC STORAGE BOX 
HOLDS UP TO 60 DISKETTES 

8" 



NEW ITEM 

CARTRIDGE RIBBONS FOR 

RADIO SHACK®* 

INE PRINTE 
VI & VIII 

29 



DOZ 



SVt" 



CARTRIDGE RIBBONS FOR 

RADIO SHACK * 

DAISYWHEEL 
& DAISY WHEEL 

MULTI-STRIKES. NYLON 



WV «29.«- 



CARTRIDGE RIBBONS FOR 



APPLE PRINTERS 

NEC 8023A 

C. ITOH PROWRITER 

$ 9. 95 , A s 107. 46 co 



CARTRIDGE RIBBONS FOR 

EPSON 

MX-80 MX-100 

*6.".=» *1 1 . 95 EA 

*75. 49 DOZ *129. 06 DOZ 



CARTRIDGE RIBBONS FOR 

RADIO SHACK " 

LINE PRINTER 
& V 

NEWLY DESIGNED CARTRIDGE 



PROTECTALL 
LINE VOLTAGE 

SURGE 
SUPPRESSOR 

(SIX OUTLET) 



$3995 



MEMOREX 
DISKETTES 

5V« SINGLE-SIDE DUAL DENSITY 



#3481 



$04 



99 



10 PACK 



RIBBONS FOR 



IDS PRINTERS 

EA DOZ 

440 52.75 $29. 70 

PAPER TIGER 6. 95 75. 06 
MICROPRISM 7." 86. 29 

PRISM 10. 95 118. 25 



EA 



MAXELL 
DISKETTES 

5V 4 " SINGLE SIDE 

DUAL DENSITY 

MD-1 



m 



10 PACK 



LABEL 
SPECIAL 

$0 99 

£■■ / K 

(5K MIN) 

1 ACROSS 3 1 1 15/16 CONTINUOUS LABELS 




TOLL FREE 800-343-7706 

IN MASS 617-963-7694 



MOST RIBBONS AVAILABLE IN COLORS TOO! 

CALL OR WRITE FOR OUR SUPPLIES CATALOGUE 

ON ORDERS UNDER •14." PLEASE ADD *3.°° FOR SHIPPING 

MINIMUM RIBBON ORDER *30.°° OR 1 DOZEN 

- Check-Mate — 

8r 




51 DIAUTO DR 



PO BOX 103 



PHONES OPEN 9AM-6PM EASTERN TIME RANDOLPH. MA 02368 

•RADIO SHACK IS A REGISTERED TRADEMARK OF THE TANDY CORP 



MASS RESIDENTS 
ADD 5% SALES TAX 



80 Micro, December 1983 • 189 



MAP INDEX PROGRAM Version 1 .2 



© 1983 SoftshcU 



File Name: 



Enter name of Tile to be indexed, or ? for help 



Figure 7. The Mindex screen. 



program. Do the same for the Model 
III, but use the file names MINDEX3 
and SEARCH3 and set $ = 5200 (the 
program's starting location). 

To transfer the programs from the 
Model II to a Model III, you must use 
the ALTRAN transfer programs sup- 
plied with ALDS. On the Model III, 
Mindex and Search must have the ex- 



tension CMD; on the Model II, no ex- 
tension is necessary. 

Using Mindex and Search 

After you assemble and link both 
programs, you're ready to begin index- 
ing and searching. The first requirement 
is an ASCII text file. You can create the 
text with Scripsit and convert it to 



ASCII file format by using the Scripsit 
convert utility. 

If you don't have Scripsit or some 
other word processor/text editor, you 
can create text files by using the editor 
that comes with Basic. Instead of typing 
in a line of code, type in a record. You 
must save text files created with the Ba- 
sic editor in ASCII format. 

Mindex indexes text or data source 
files. It stores the index in the separate 
MAP index file. The program segments 
records longer than 255 characters into 
blocks of 255 characters and indexes 
them until it fmds a block of characters 
less than 255 characters long terminat- 
ing in an end-of-record (EOR) message. 
The index file that Mindex creates has 
the same name as your source file 
(unless you specify otherwise) and the 
extension MAP. 

To run Mindex, type MINDEX and 
press the enter key. Mindex displays the 
screen in Fig. 7 and waits for you to en- 
ter the file specifications of the source 
and index files. The syntax is: SOURCE 



Listing 3 continued 








•MS* 


LD 


A,C 














•Mi* 


CP 


| 


;lf lato cannot backapace 


• •572 








I routine to input search keye 


• Mil 


JP 


Z.CETCHR 




••57 3 








(entry: RL -> input buflct 


•M(2 


DEC 


C 


idee counter 


••574 








IB • ««» no. of char 


••4(3 


DEC 


HL 


idee buffer pointer 


••575 








l*lltl BL ->EOR 


•Mi 4 


LO 


A.M 




•«57» 








iB-no. chat. A- BOB 


• M4S 


CALL 


VDCHAR 


; erase one chat 


••577 


mm 


LB 


A,l 




•MM 


JP 


GETCHR 




• •578 




CALL 


VDCHAA 


Itucn cursor on 


• •((7 


RBEND LO 


■#c 




••57) 




Li> 


A, 17 




• •((9 


PUSH 


A? 




MSM 




CALL 


VDCHAR 


leraae to end of line 


••4(9 


I-D 


A, 2 




• •5(1 




LP 


C* 1 


llnlt chat count to • 


•M7( 


CALL 


VDCHAR 


■tutn off cutaor 


• •5(2 


GETIHH 


NOP 






Mi 71 


POP 


AP 




IIM) 




CALL 


KUWAIT 




M«72 


RET 






• •5<« 

• •5*5 




CP 
JP 


1 

Z , EMTAND 


jvaa ri preaaed? 

;tf ao Jp to '+• chat antty 


•M7) 
M(74 












IHON 


MSM 
••517 




Cf 

JP 


2 

1 , ENTOD 


l»aa Tl preaaed? 

I If ao jp to ■ 1' chat antty 


• •{75 
Mi7( 


HON LD 


A.1AH 




ireveree video 


••5M 




Cf 


2«H 


ichat ot control? 


• M77 


CALL 


VDCHAR 




••51* 




JP 


H.CTRL 


iconttol if laaa 2(H 


•M7( 


RET 






MSM 

MSM 


EWTAND 


JP 

LI) 


ALPHA 
A.C 


[alphanumeric enteted 

lantar '+' char in aaatch key 


• M79 

• •(•• 












jHOFF 


MSM 




CP 






• Mai 

•MB2 








MSN 




JP 


Z.GETCBR 




Horr LD 


A.19H 


l tevetaa video off 


MSt4 




iwc 


C 




••(» 


CALL 


VDCHAR 




MSM 




LO 


A, 1 *" 




• •(84 


BET 






MSM 
M5»7 


INTO* 


JP 
LO 


ALPHAS 
A.C 


lantat '■»' char in aaatch Ray 


•MIS 

■MM 












i PRSCN 


MSM 




CP 


I 




• •(87 








MSM 




JP 


Z.CETCHR 




••(•• 


PRSCN NOP 




iptlnt acteen 


•MM 




INC 


c 




••(•• 


10 


BC,I 




••Ml 




LO 


A, 124 




M(M 


LD 


E.i 




•M(2 




JP 


ALPHAS 




•MM 


PUSH 


3C 




Ifbtl 


CWDANtl 


LO 


A, 25) 


jand operation coda 


•MM 


PRSCNLP NOP 






•M(4 




LO 


(HLI .A 


latota and cmd 


•MM 


LO 


HL , PRTBUF 




• •(•5 




"ALL 


HOW 


irevetae vidao on 


•MM 


LD 


D.BI 




•MM 




LO 


A, ■»■ 




•M*S 


POP 


BC 




llll) 




CALL 


VDCHAR 




(MM 


P'.SH 


BC 




• •MI 




CALL 


Horr 


,'revera* vidao off 


••(97 


sve 


11 


iBove line to PRTBUF 


•MM 




ISC 


■L 




•MM 


?r? 


BC 




Mil) 




JP 


GETCHR 




Mi** 


UK 


B 




•Mil 


CKDOR 


LD 


A, 254 


lor coda 


M7M 


PUSH 


■c 




•Ml 2 

•Ml] 




CALL 


(ID ,A 

HOW 




M7M 

M7M 


LD 
LD 


HL, PRTBUF 
&,•• 




Mi 14 




LO 


A, 124 




M7M 


LD 


C,*DH 




Mi 15 




CALL 


VDCHA* 




••7*4 


SVC 


19 


I PRLINE 


• Mli 




CALL 


HOTP 




*(7*5 


IK 






••(17 




nc 


IL 




»»"*( 


LD 


A, 24 




Mil* 




jp 


GETCHR 




••717 


CP 


E 




Mill 


1 








M7I8 


JP 


NZ , PRSCNLP 




Mi 21 








lalpha nuaetlc chat 


M7»9 


Kt 


K 




•M21 


ALPHA 


LO 


:.» 


;te»p atora A 


M71* 


RET 






••4 22 




LD 


A.C 


)A now • char count 


• •711 








Mi 21 




CP 


B 


icp to aax char 


M712 


prtbuf'°dfj»s 


E» 


ipilntet buffer 


••4 24 




n 


Z, GETCHR 


tloop until CTB or CUD 


1171) 


DEPB 


•DH 




••425 

•MM 




:*c 


c 


ichar ok ao procaaa 
;bu«p countar 


M714 
••715 












; ROVELN 


• •427 




LD 


A,D 


iraatora A 


••714 






. 


••421 




CP 


•♦• 




••71 7 


HOVELS NOP 




jaove chat fro* screen to buffet 


•M29 




J! 


Z, CUD AMD 




M71I 






;HL->buf fet,D-no. chat 


•MM 




CP 


Hi 




11711 






iBC-cutaot cootdlnatea 


Mill 




JP 


I.CMDOR 




• •72* 


JVC 


11 




•M12 


ALPHAS 


It 


(HL) ,A 




M721 


PET 






Mill 
Mi) 4 


ALPHA7 


:*c 

CALL 


■L 
VDCHAR 


Ibuap HL 

idiaplay char 


M722 
M7M 












I PRLINE 


• •4)5 

• •4)4 


CTRL 


n 

SCP 


getchr 


icontrol char antarad 


• •724 
••725 








iptint line 
iHL->buf far 


••437 




cr 


•DH 


1? CH 


M7M 






•MM 




jp 


Z,CT11L»D 




M727 






lB»no. chat, C-endlng chat 


Mil* 




CP 


M 


i? backapaca 


M72I 


PRUNE SVC 


:» 




• 14 4* 




JP 


z,ct»:.«s 




M72» 


RET 






•M41 
•••42 




CP 

jp 


BMREY 
Z. CT»U.»1 


■break? 


»*7)« 

M7)l 


~ " 










f PRTBLN 


Mi 4) 




jp 


GETCRR 


lOthar C7?L not allowed 


••7)2 








Mi 44 


CTRLtl 


MOP 




(break key routine 


• •-33 






iptlnt penultlute line 


•M4S 




LD 


A,C 




••7)4 


PRTBLN PUSH 


BC 




••444 




CP 


■ 


;>aa break hit on ct - •? 


••7 35 


PDSB 


SE 




••447 




JP 


n>,cnu.i2 




M7)i 


PUSH 


HL 




•M4« 




LD 


a, mi 




••7)7 


LO 


B.PENULN 




M44» 




CALL 


VDCHAR 


iturn off curaor 


(•7)1 


LD 


CI 




•MM 




LO 


a, barret 




•*7)» 


LD 


o,ai 




•MSI 
•MS 2 




LD 


•>• 




M7 4* 


LO 


8L, PRTBUF 






BET 






M741 


CALL 


HOVELN 


iiovi nest to laat line to PRTBUF 


(MSI 


CtRLiJ 


LO 


A.BMIEY 




M742 


* 






••454 


CTRLtD 


MOP 




rEOR 


• *74) 


LO 


HL.PRTBUP 




• M55 




LD 


IHL) ,A 




••744 


LD 


B,M 




• •454 




JP 


J BEND 




11745 




C9DH 




Mi 5 7 


CTRL* I 


MOP 




i backapaca routine 


•17 44 


CALI 


PRLINE 




•MS) 




LO 




iteap aave A in D 








Listing 3 continued 



190 • 80 Micro, December 1983 




After 2 years of extensive research and development 
XYZT Computer Dimensions, Inc is proud to announce 



nicE 



TM 



the NEW INTERACTIVE COMPUTING ENVIRONMENT 



NICE is nothing less than a comprehensive integration of all computing facilities - 
including DOS, numerous utilities, application programs, even games combined with 
menus, database, screens, libraries, reports - an interactive environment friendly 
to the first time user and the sophisticated systems intergrater alike. If you know 
what a turbo-charger can do for an auto engine, that is what NICE does for a 
computer. Clearly, it is the most exciting news to come along in software for the 
microcomputer 

DO YOU KNOW HOW TO BOOT YOUR SYSTEM? 

THEN YOU KNOW HOW TO TURN YOUR COMPUTER 

INTO THE MOST POWERFUL USER FRIENDLY BUSINESS MACHINE!! 

NICE makes development and using software - EASY. Based on a new concept this 
state-of-the-art software gives you the interactive power until now found only on 
mainframes, but at micro prices. Put a powerful menu-driven command structure 
at your fingertips! Run word-processors, spell-checkers, spread-sheet programs, 
utilities, application programs without remembering command sequence or 
constantly checking the manuals. Everything you need is on the screen. Create 
your own applications and add them to the system - use menus, relational files, 
customized screens, special forms. In a matter of hours, you zip through the 
programming projects you usually expected to take months. All thanks to a 
modular, consistently designed system. 

IS YOUR WORDPROCESSOR WORKING? 

THEN THOSE SCREENS OUGHT TO BE IN YOUR SYSTEM ! 

Using a computer should not be difficult - no more complicated than driving a car. 
With NICE you are no longer required to know all of the intricate internal 
operations of the computer. Creation of all types of screens, menus, inquires and 
reports or customized forms is as simple as writing a letter - type it on your 
word-processor, save it to disk, and it is ready for use. You don't have to be a 
programmer - just a computer user. 

It's NICE for you! 

NICE system consists of: 

Interactive Control & Programming Language (ICPL) $150. 

Menu and Screen management facilities (MSF) $75. 

Database facility (DBF) $75. 

Forms and Report Writer (FRW) $75. 

Library Support Option (LSO) $75. 

Minimal NICE configuration — ICPL-f MSF + LSO. 

Minimal hardware requirements — 2 disk TRS-80® mod l/l II. System is compatible 
with NEWDOS/80®-LDOS«-DOSPLUS®-MULTIDOS® floppy or hard disk. 

Check, M.O.. COD., VISA, XYZT Computer Dimensions, Inc. ^'M 

MC plus $4.00 s/h. 2 Pen n Plaza, Suite 1500 

Foreign orders — extra $10.00 New York, N.Y. 10121 

(212)244-3100 
Order by Mail or Check Your Local Dealer 




nicE 






II 


1 til 


• mm 




•» -> 




. «,-.. 




■ ■■ -.1 












I 




Mi -1 


l»- 


•" 










am — 






■ | | -*> 




I 












W IM _ — 



DEALER INQUIRIES WELCOME! 



f St Ust of A&mtttn on Page 291 



80 Micro, December 1983 • 191 



iiViva el Scripsit espanol!! 
Vive la difference! 

Turn your TRS-80* into a bil- 
ingual word processor! English/ 
Spanish or English/ French with 
our hard/ soft kit. 

Use your Scripsit* or Super- 
Scripsit* program in Spanish 
or French: 

• Full foreign keyboard 

• All accented characters on 
screen and printer 

• All program/ user interaction 
in Spanish or French 

Our bilingual hardware kit main- 
tains full compatibility with all 
existing software. Comes with 
complete instructions. Software 
adds on to your regular prog- 
ram. 

Models II, 12, 16 $350.00 

Models III, 4 $250.00 



SDCflTRfl 



SOCATRA Inc. 

4255 avenue de Court r* 
Montreal, Quebec 
Canada H3S1B8 

(514)735-7079 



' Trademarks or Radio- Snack 
A division of Tandy Corp 




^TENTlc^ 



FOREIGN COMPUTER 

STORES 
MAGAZINE DEALERS 

You have a large technical 
audience that speaks English 
and is in need of the land of 
microcomputer information 
the Wayne Green Publica- 
tions group provides. 

Provide your audience with 
the magazines they need and 
make money at the same time. 
For details on selling Micro- 
computing, 80 Micro, Desk- 
top Computing, inCider, HOT 
CoCo, RUN and Wayne 
Green Books contact: 

SANDRA JOSEPH 

WORLD WIDE MEDIA 

386 PARK AVE. SOUTH 

NEW YORK, N.Y. 10016 

PHONE-(212) 686-1520 

TELEX-620430 



MAP SEARCH PROGRAM Version 1 .2 



©1983Softshell 



Fik Name: 



Enter file names, or ? for help 



Figure 8. Initial Search screen. 



FILE,INDEX FILE;OPTIONS. 

You can also enter the file specifi- 
cations and options on the TRSDOS 
command line (MINDEX REF:0,:1;P). 
Only the source file specification is nec- 
essary; the program assigns the index 
file the same name, password, and disk 
drive as the source file unless you 
specify otherwise. 

For example, typing REF/TXT. SE- 
CRET: 1 and pressing the enter key 
opens the source file "REF/TXT.SE- 
CRET:1" and creates the index file 
*'REF/MAP.SECRET:1", while typ- 
ing REF/TXT. SECRET: 1,. CODE- 
WORDS and pressing the enter key 
opens the source file "FILE1/TXT.SE- 
CRET:1" and creates the index file 
"FILEl/MAP.CODEWORD:2" . 

In this case the index file has a differ- 
ent password from the source file and is 
on drive 2 rather than drive 1. You 
don't need to specify the disk drive for 
your source file unless you have two 
files with the same specification on two 
separate drives. The program places the 
index file on the same disk as the source 
file unless you specify another drive. 

Indicate the paragraph format option 
by appending a semicolon and the letter 
P to the fik specifications. In the para- 
graph format, the program treats each 
sentence as a string. You should use the 
paragraph format for text files com- 
posed of sentences arranged in para- 
graphs and that don't have an EOR at 
the end of each line or sentence. 

MAP uses the period as a pseudo 
EOR and treats each sentence as a rec- 
ord. If you don't specify the indexing 
format, the program defaults to the rec- 
ord format. Typing TEXTFILE,:1;P 
and pressing the enter key opens the 
source file TEXlMLE from whatever 
drive it's on, creates the index file 
TEXTFILE/MAP on drive 1, and in- 
dexes the source file in paragraph format. 

Mindex displays the name, extension, 
password, and drive of the source and 



data files, indicates that it's opened each 
file successfully (or gives a self-explana- 
tory error message), and begins index- 
ing. The program displays the number 
of the source file sector it indexes. 

When the program finishes indexing, 
it saves the index file on disk and returns 
you to TRSDOS. You don't need to re- 
index the source file unless you modify 
the file or you delete the index file from 
the disk. 

To run Search, type SEARCH and 
press the enter key. The screen in Fig. 8 
appears. Type in the name of the file 
you want to search. Alternatively, you 
can enter the file specifications on the 
TRSDOS command line (SEARCH 
REF:1). The complete syntax is 
SOURCE FILE, INDEX FILE, OUT- 
PUT FILE. 

It's only necessary to type in the 
name of the source file. The program 
assigns the same specification to the in- 
dex file (except for the extension MAP) 
and output file (except for the extension 
OUT) unless you specify otherwise. 

For example, typing TESTFILE/ 
TXT assigns the specification TEST- 
FILE/MAP to the index file and TEST- 
FILE/OUT to the output file. The 
MAP index file contains the source file 
name, extension, and password so you 
don't have to type in that information. 

The appropriate files will open, the 
index will load into memory, and you 
can begin your search. If an error oc- 
curs in opening the files, the program 
informs you of the type of error so you 
can correct it. 

After Search opens the MAP index 
file and its associated source file, the 
name of the source file appears at the 
top of the screen. The blinking cursor 
on the second line under the letter E 
is a prompt for you to enter the key 
or keys you want to locate. Type the 
key(s) you're searching for and tap the 
enter key. 

Each key must be three or more char- 



192 • 80 Micro, December 1983 



Listing 3 continued 








• •74.7 


, 








••741 




LD 


B.PEMULN 




••749 




LO 


c,( 




• •751 




CALL 


poscur 


1 reposition cursor to nut to laat llfM 


• •751 




POP 


■L 




• •752 




POP 


DE 




• •753 




POP 


BC 




• •754 




BET 






• •755 

M7M 
















1 PRTREC 


• •757 










• •758 








1 print record Iron screen 


• •759 


PRTREC 


LD 


C,( 




•I7«« 




LD 


A, (SORLK) 




• •761 




CP 


4 




MTU 




JP 


J.PRTR2 




• •763 




LD 


A, (SORLK) 




••764 




DEC 


A 




• •765 


PUTS 2 


LD 


a, a 




• •766 


PRTRLP 


LD 


BL.FRTBUF 




• •767 




LD 


D,(8 




• •768 




PUSH 


BC 




• •769 




SVC 


11 


■ ■ova •ctun lis* to buffer 


• •771 




LD 


HL.PRTBUP 




• •771 




LD 


B.S6 




• •772 




LD 


C.6DB 




• •773 




SVC 


19 


iPRLlNE 


• •774 




POP 


BC 




• •775 




LD 


A, 22 




••776 




CP 


B 


lhae last Una bun reached! 


• •777 




JP 


2.PRTR5 




• •778 




JP 


K,PRTR5 




••779 




INC 


B 




inn 




JP 


PRTRLF 




• •781 


PIITII5 


RET 






• •782 










••783 








IJP2DOS 


•17 H 










• •785 








lip to TMD08 without CBd 


• •7 86 


J P 2 BOS 


SVC 


36 




••787 
••788 
















IDOSCHD 


••789 










••7 9* 








Op to TRSDOS with CBd 


•17 91 








■eiecute CMD flic then DOS 


••792 








■HL->na»e of CUD file 


••7 93 


COS CMP 


PUSH 


HL 




••794 




LD 


B,( 




09795 


DOSLP 


LD 


A,(iL) 




• •796 




CP 


• DH 




••797 




JP 


I.DOSEXC 




M79t 




INC 


HL 




• •799 




INC 


B 




• IBM 




JP 


DOSLP 




••Ml 


DOS EX C 


POP 


HL 




• •8*2 




SVC 


37 


IUC procj, then DOS 


••••3 


DOS LLP 


NOP 






• •••4 




JP 


DOSLLP 


ljuit in cm 


• •885 

• •••6 
















iDISMUC 


• •••7 
••••8 


DISBRK 


LD 


HL,6 




■dleable brill 


8(8(9 




SVC 


3 




(Kit 




LD 


HL.DSBRK 




• •811 




SVC 


3 


; whenever break la pr eased 


6(812 








■prograa will jp to OSBRK 


6(813 




RET 






• (814 

• (615 
















IDSBRX 


((816 










((•17 


DSBRJt 


PUSH 


AF 


■break routine 


((•18 




LD 


A, ■*' 




(((19 




LD 


(BREAK) ,A 




• (826 




POP 


AF 




8(621 




RET 






8(822 

66823 


BREAK 


DEFB 


'»' 


■break ■ 1, no break - N 


6(824 








■DIVIDE 


66825 










8(626 


DIVIDE 


PUSH 


BC 


idlvide A into HL 


16827 




LD 


B,l 




(((28 




LD 


C,A 




66629 




SVC 


23 




8(838 




LD 


A.C 




8(831 




POP 


BC 




•••32 

••833 




RET 






••834 








■ HOLT 


1(835 










(((36 


MULT 


PUSH 


BC 


IBUlt 1L I A 


((837 




LD 


B,l 




68638 




LD 


C,A 




(••39 




SVC 


23 




03648 




LD 


A.C 




((841 




POP 


BC 




•((42 

(((43 




RET 






((844 








■ FTPS 


((845 










(((46 








■point to file apec 


((847 


PTFS 


INC 


HL 


■ bypaae char count 


((648 




CALL 


EATmm 


Ibypaaa cad 


86849 




CALL 


EATBNI 


■bypaaa trailing blanks 


M(5( 

((851 




RET 




i HL -> firat char of file apec 


86852 








1 ERRDSP 


6(653 
66(54 










■ error dep for Hod II TTtSDOs 


66 855 


ERRDSP 


NOP 






8(856 




PUSH 


BC 




6(857 




LO 


B,A 




66856 




LD 


HL.MSGARBA 




66859 




SVC 


52 


■ERRMSC 


((86( 




LO 


HL, NSCAREA 




((•61 




CALL 


VCLINE 




• ••42 




POP 


BC 




• ••63 




RET 






• ••64 


NSCAREA DEP9 


• 6 


■ error aeaaaee area 


• ••65 

00866 




DEFB 


(3 




88667 








ISTNEKO 


• •868 










• •869 


STMEND 


LD 


(MENEMD) ,DE 


/store end of aeaory 


6(876 




RET 




•must be called before DE changed! 1 1 1 


66671 
66872 


MEMENP 


DEFT* 


1 


; store* top addreaa of »«- available 


66673 


INDCB 


DEPB 


• 


■input (aoorce) file DCB 


(((74 


IDCB1 


DErB 


• 




(((75 




DEFB 


1 




(((76 




DErB 


I 




66877 


IDCBRL 


DErB 


• 


■record length 


6(678 




DEEB 


• 




66879 




DErB 







6(886 


IDCBCF 


DEPB 


• 


■current record 


66881 




DErB 







66882 




DEFB 







66863 


IDCBLR 


DErB 


• 


■laat record 


86884 




DEFB 







66885 


I DC BOS 


DErB 


• 




66666 




DEES 


50 




66887 

6(886 


INLLD 


DEFW 





■true laat aector 


66889 


HAPDCB 


DEFB 





■MAP file DCB 


86896 


HDCB1 


DEFB 







66891 




DErB 







6(892 




DEPB 






(((93 


HDCBRL 


DEFB 


• 


■record length 


((894 




DErB 


I 




68695 




DErB 


6 


Listing 3 continued 



v 



A 



<& 



COLOR COMPUTER 
1 SOFTWARE 



DISK C0L0RC0M/E 



The Intelligent Communications Package 

C0L0RC0M/E, the most popular smart terminal program for the Color Com- 
puter, has just gotten smarter. In fact, from now on, we're going to call it The 
Intelligent Terminal program. 

The new DISK C0L0RC0M/E contains a unique COMMAND MODE that 
allows you to set up complete communications sessions in advance. Anything 
you normally do from the keyboard DISK C0L0RC0M/E can do all by itself. 
Log-on, log-off, read and store messages, disconnect, transmit and receive 
files, dial auto-dial modems, - anything! DISK C0L0RC0M/E will even make 
decisions based upon how the host responds. 

Here are some examples of how YOU might want to use the new DISK 
C0L0RC0M/E. 

• Call your favorite bulletin board, download all messages addressed to 
you, log off, and write the messages toadisk file. ANDdo all of this with 
one keystroke! 

• Call Dow Jones, log on and get the latest prices on your favorite stocks, 
and then log off. Again all with ONE keystroke. 

• With an Autodial modem let C0L0RC0M/E Make your calls for you at 
3:00 A.M. when rates are cheap. Then read the results with your morn- 
ing coffee. 

In addition we've added 64K support and your choice of number of characters 
per line. Of course you still get the regular C0L0RCOM/E features such as 
upload/download, graphics, easy storing and printing of data, and much more. 
For 16, 32 or 64K disk systems. 

COLORCOM/E Disk $49.95 



COMPLETE YOUR WORD PROCESSOR 

SPELL- RITE 

THE Cassette Spelling Verifier 

You've got the best word processor. Now complete your system with the best 
spelling verifier. Spell-Rite is a convenient, fast way to insure that all of your 
documents are letter perfect Spell-Rite was designed specifically for 
cassette-based word processors. Like Yours! 

Spell-Rite is EASY to use, completely menu driven. 

Spell-Rite is FAST! You can verify a 1000 word document in under 9 minutes 
- including cassette I/O. 

Spell-Rite is COMPLETE. It comes with its own 10,000 + word dictionary 
which you can expand. Also included is a superb manual. 

Spell-Rite works with any word processor that generates ASCII tape files, such 
as Color Scripsit, Super Color Writer and Telewriter 64. 32K of RAM and 
Extended Basic are required. 

Cassettes and manual $59.95 



Se/idcheck or money order for total purchase price, plus $1.50 S&H. Charge 
cards: Include all embossed information. 



□ Spell-Rite 

□ Disk Colorcom/E 
SEND to 



G Send Free Catalog 



Eigen 
Systems 



RO Box 180006 

Austin, Texas 78718 

(512) 837-4665 



Name 

Address 



*■ See List o! Advertisers on Page 291 



80 Micro, December 1983 • 193 



acters long, and no key or combination 
of keys can be longer than 60 charac- 
ters. Search ignores capitalized letters 
and lets you search for partial keys. For 
example, the key "cdonal" locates rec- 
ords containing the names McDonald 
and MacDonald. 

You can search for combinations of 
keys within records or sentences. You 
find combinations by using the logical 
operators AND or OR. AND is repre- 
sented by the + symbol (hold the shift 
key and press + ). OR is represented by 
the ! symbol (hold the control key and 
press zero on the Model II; hold the 
shift key and press @ on the Model III). 

On the Model II the operators + and 
! appear in inverse video to distinguish 
them from characters in a key. On the 
Model III a small, solid white rectangle 
appears under the operator to indicate 
that it isn't a character in a key. For ex- 
ample, the search key Jack + Jill | Jack + 



"You can search for 

combinations of keys within 

records or sentences. " 



nimble finds records that contain the 
names Jack and Jill or records contain- 
ing the name Jack and the word nimble. 

On the Model II, enter the + charac- 
ter as part of a key by pressing Fl and 
enter the \ character as part of a key by 
pressing F2. On the Model III the @ 
key enters special characters from the 
keyboard. 

If the key you're searching for has the 
symbol + or J, you can enter it in the 
following manner: press the @ key (un- 
shifted) and the cursor becomes larger. 
Then enter either + or J. You enter 



the @ character into a key in the same 
manner. 

After you enter a valid key, the pro- 
gram starts its search and the message 
"Searching" appears in the upper left 
corner of the screen. The number of 
each sector searched appears next to the 
word Searching. 

When the program locates the first 
record in the file with the appropriate 
key (or keys), it displays the record at 
the bottom of the screen. One record 
appears at a time and the program waits 
for your instructions to continue the 
search, abort the search, or display text 
around the located record. 

To continue the search, press the 
down-arrow key after each line of text 
appears. Pressing and holding the 
down-arrow key (and the repeat key on 
the Model II) lets you continuously 
scroll through records as the program 
finds them. When the program has 



Listing 3 continued 








•••»• 


HDCBCR 


depb 


1 


[current record 


MM7 




CEFE 


f 




MM* 




deer 


f 




•••*• 


NDCBLR 


defb 


• 


daet record 


■till 




DEFB 


1 




••Ml 


"DC DOS 


DEED 


• 




IIM1 




Dtrs 


M 




MM) 


MAPLLR 


DEPw 


1 




MM4 


1 








••9)5 








(output file DCB 


MM( 










MMT 


SOUL* 




I 




MM! 








Ifor each Una of rac displayed 


MM* 
•••I* 

Mill 








i(sori.m) is decremented 


STRAP 


DEPB 


• 




•••12 




IB 







Ln • 


Source Line 




••••1 


[HIHDCX3/SRC... 


.2 




••••2 


[Har *5, 1*1} 






••••4 


iNINDEX INDEXING PROGRAM r"OI 


MODEL III 


MMS 


1 RASTER SECTION 


links main 




••••( 




land oanari 


1 purpoaa routlnaa 


••••7 
MM* 
MM* 


[COPYRIGHT 19S3 


SOTTSHELL CORPORATION ALL RIGHTS RESERVED 


PROGII PSECT 




[begin ralocatabla prograa aactlon 


M(l* 


EXTERN 


BEGIN 


(BEGIN - atart of M3 


•••11 


START JP 


MCIN 




•••12 


LIBS 


•R3/REL- 




•111) 








•M14 






ivae originally developed on Modal III 


•Ml* 






dn Its currant torsi It will work with 


(••It 






(Modal II or III glvan tba propsr I/O 


•••17 








M*l* 


am 


•CR/REL" 


[general proqraaa 
(Modal III I/O routlnaa 


MM* 


Lira 


'HOOIII/REL 


Hill 


ESS 


START 




Program Listing 4. Assembly-language listing of Mindex3/SRC. 



Ln 1 




Sourca 


Lin. 




MM1 


(SEARCN3/SRC... 


.1 




MM 2 


(Nsr •! 


, 1M) 






Hill 


[SEARCH 


PROGRAM 


POR MODEL III 




••MS 


IMASTEI 


SECTIOM 


links S3, an. 


S30PEM, S3DSP, S30PT and NODI I I 


••••( 
••••7 
••••• 


/COPYRIGHT 1*1] 


SOPTSNELL CORPORATION ALL RIGHTS RESERVED 


PROCII 


PSECT 






MM* 
• •111 












EXTERN 






•Mil 
M*12 










START 


J* 


BEGIN 




sMU 




line 


'S3/RBX' 


(SEARCH progrsa propar 


•••14 








mote: tba prograa la callsd 


•MIS 








(S3 bacausa It was originally 


•Ml* 








(davalopad on tba Modal III 


•M17 








Itn Its currant form it will 


HM 








ivoik with Modal II or III 


•Ml* 








(glvan tba propar I/O nodula 


•••21 




LIB* 


•CsVsbrV 


(ganaral routlnaa 


•••21 




LINK 


'•Jopn/uL 1 


(SEARCH opan fllaa routlna 


•••22 




LINE 


'S3DSP/REL' 


(SEARCH diaplay 


(••2) 




LI MX 


'SJOPT/REL 1 




•••24 




LINE 


'MOOIII/REL' 


(Modal III I/O routlnaa 


mn 




END 


START 




Program Listing 5. Assembly-language listing ofSearch3/SRC:l. 



Program Listing 6. Assembly-language listing of MODIII/SRC. 


Ln t 


Sourca 


UlM 




••Ml 


(MODI I I/SRC VERSION 1.2 




MM2 
••■•) 
■(••4 


lJun 71, 1M3 






(HAP MODEL III 


I/O ROUTINES 


, DUFFER5 AND PARAMETERS 


•Ml* 


(COPYRIGHT 1*13 


SOPTSHELL 


CORPORATION (ALL RIGHTS RESERVED 


• MM 

• •••7 








MODI II PSECT 




(bagln ralocatabla prograa aactlon 


• MM 

• •••* 












(public routlnaa 


•MM 










• Mil 


PUBLIC 


BOTTOM 


(poaltlon cursor to laat Una of scraan 


• M12 


PUBLIC 


CLOSE 


(cloaa flla IDE->DCBI 


•Mil 


PUBLIC 


CURPOS 


[deteraine cursor poa (cooriBC) 


•••14 


PUBLIC 


DISBRE 


(dlaabla break (lor Modal II) 


•MIS 


PUBLIC 


DIVIDE 


(divide A into RX 


•MM 


PUBLIC 


DOSCND 


i )p to TRSDOS and execute command 


• ••17 


PUBLIC 


ERASEL 


(araaa to and of Una 


• Ml* 


PUBLIC 


ERASES 


[erase to and of acraan 


Mil* 


PUBLIC 


ERRDSP 


(MAP arror diaplay routlna 


• ••2* 


PUBLIC 


HOME 


(position cursor to top Una of acraan 


■••21 


PUBLIC 


INIT 


(initialise flla (create/opsn, poa to 1st rac) 


• ••22 






1 (DE->DCB. HL->roc buf) 


• ••21 


PUBLIC 


JP2DOS 


()p to TRSDOS 


• ••24 


PUBLIC 


ESCHAR 


[gat char (or null) froa keyboard 


MMS 


PUBLIC 


EBINIT 


llnittallsa keyboard (Nod II) 


•M2t 


PUBLIC 


EBLIN3 


(got line froa keyboard and end vltb •) 


•••27 


PUBLIC 


INLINE 


(gat line froa keyboard and end with IDA 


•••31 


PUBLIC 


IBHAIT 


(wait tor char froa keyboard 


•112) 


PUBLIC 


EEYIN 


(get aearch key(s) torn keyboard 


•••)• 


PUBLIC 


NOVELN 


(•ova line froa scraan to buffer 


•Mil 






(HL->buf, D-no. char, BC-curaor coor 


•M32 


PUBLIC 


MULT 


(Multiply routlna 


•M33 


PUBLIC 


NEKLN 


(role acreen and pos cur to nest to last line 


•••34 


PUBLIC 


OPEN 


(Open file (DE->DCB, HL->racord buffer) 


•••35 


PUBLIC 


OPINIT 


[open and Initialise flla 


■MM 






1 (DE->DCB, BL->record buffer) 


• ••37 


PUBLIC 


POSCUR 


(poeltlon curaor (coordinates In BC) 


• M3S 


PUBLIC 


POSEOP 


(Position to end of flla 


•Ml* 


PUBLIC 


POSH 


[poaltlon to record ln file 


• M4* 


PUBLIC 


PRINIT 


(initialise printer 


•••41 


PUBLIC 


PRLIHE 


iprlnt line (HL->buf, B-no. char, C-end char) 


•M42 


PUBLIC 


PRSCN 


[print entire acraan 


•••43 


PUBLIC 


PRTBLN 


[print laat line of test 


•••44 


PUBLIC 


PRTREC 


iprlnt current record 


MMS 


PUBLIC 


PTPB 


Ipoiat to file spec in cad Una 


• ••44 


PUBLIC 


READOR 


iread filei direct accaaa 


• ••47 


PUBLIC 


REAL MX 


[read nest record In file 


HHI 


PUBLIC 


SCRPRO 


[Bet scroll protect Una (A- line no.) 


Hill 


PUBLIC 


SETILR 


[Bet 1MLRR to true laat record 


•MS* 


PUBLIC 


SETMLR 


[Bet HAPLLR to true laat record 


• ••SI 


PUBLIC 


STHEND 


[Store top of Memory in MEMEHD 


•MS2 


PUBLIC 


VDCNAR 


[diaplay char in A ragiater 


•••S3 


PUBLIC 


VDCLS 


(Clear acreen 


•MS4 


PUBLIC 


VDINIT 


[Initialise video I/O (lor Model 11) 


•MS5 


PUBLIC 


VDLIN3 


idlaplay Una (HL-Hesgi don't print SON) 


•MS4 


PUBLIC 


VDLINE 


(display Una (HL->aag) 

(word proceeeor kbwait routlna 


• MS7 


PUBLIC 


WPXBKT 


•••SI 


PUBLIC 


WRITE 


(direct write routine 


•MS* 

• M6« 

• •Ml 


PUBLIC 


WRITKX 


[write next record to file 


' 




[NODI 1 1 buff era 


HHI 










MM 3 


PUBLIC 


ACCESS 


[duaay tor HOOII coapatablllty 


MM 4 


PUBLIC 


INDCB 


i input (sourca) flla DCB 


••MS 


PUBLIC 


IDCBRL 


(Input flla DCB Record Length 


•Mil 


PUBLIC 


IDCBCR 


[Input file DCS Current Record 


111(7 


PUBLIC 


IDCBLR 


[Input tile DCB Laat Record 


••Ml 


PUBLIC 


INLLR 


[true last record of source file 


MM* 


PUBLIC 


IDCBOS 


[Input file DCB uiuii 


•M7( 


PUBLIC 


MAPDCB 


[MAP (Index) file DCB 


M»71 


PUBLIC 


MDCBRL 


[Map flla DCB Record Length 


•••7 2 


PUBLIC 


NDCBCR 


[Hap file DCB Current Record 


•••7) 


PUBLIC 


NDCBLR 


(Hap file DCB Laat Record 


•••74 


PUBLIC 


HAPLLR 


[true last record of indea tile 


Mt7S 


PUBLIC 


MDCBOS 


[Hap file DCB iimiii 


•••74 


PUBLIC 


■EMEND 


[contents ->top of aeaory 


M»77 


PUBLIC 


OUTCHR 


[record buffer (1 byte) tor output file 


• ••71 


PUBLIC 


OUTDCB 


[output file DCB 


•••7* 


PUBLIC 


PRTBUP 


[printer buffer (•• char) 


• Ml* 


PUBLIC 


SORLN 


(•tart of record Una no. 


••••1 


PUBLIC 


8THAP 


[Start ot HAP index file (alwaya last byts 


••••2 
MM) 
••••• 






[Of SEARCH prograa) 


' 




iNODlll I/O para , 


•••IS 






I ——————■-. i ■ ■— — — — 


• MM 


PUBLIC 


AJUtOHD 


(arrow down 


••••7 


PUBLIC 


ARROML 


[arrow left 


■MM 


PUBLIC 


AKRONS 


[arrow right 


•Ml* 


PUBLIC 


ARRCMU 


Luting 6 continued 



194 • 80 Micro, December 1983 



Every Z80 assembly-language 
programmer needs this book. 




Programming in assembly language requires good 
tools. TRS-807Z8O Assembly Language Library, a com- 
plete reference book on TRS-80 Model I assembly 
language, is the best tool you can find. In over 
300-pages, 45 figures, and 75 program listings, author 
Craig A. Lindley explains the details of Model I hard- 
ware and software and shows you how to write pro- 
grams that squeeze every bit of performance out of your 
computer. This book will teach you: 

• how to use ROM and DOS routines in your own 
programs 

• how to perform disk input/output 

• how to access the video display and keyboard 

• how to write easy-to-use programs 

• how to perform arithmetic operations 

• how to use the undocumented Z80 instructions 
You'll also learn about disk operating systems, device 
handling, base conversion, parameter passing, and 
more. 

TR&80IZ80 Assembly Language Library contains a li- 
brary of ready-to-run utility programs that are worth 
many times the book's cost. Included with the book are 
two Model I TRSDOS-compatible disks* containing 
utilities for printer formatting and spooling, single-key 
entry of strings, disk editing, base conversion, 
password encoding and decoding, and more. You get 
more than 15 valuable utilities, and the source code 
files are included, so you can examine, modify, and 
learn from every program. 

Many of the programs also run on the Model III, and 
those that do not require only minor modification. One 



TRS-8O1Z8O Assembly Language library is a Wayne Green publication 

TRS-80. TRSDOS. Model I. Model III are registered trademarks of the Radio Shack 

Division of Tandy Corp. 

Z«0 is a registered trademark of Zilog Due , fMm eTJQf ^^ 

able until November 1, 1983. 
We apologize for any incon- 
venience. 



of the book's four sections is dedicated to routines and 
programs that run on any Z80-based system. Nc matter 
what Z80 computer you program, this book has 
something for you. 

It's a book that's designed to be used. The text is set in 
large type, and the book is bound in an 8V2-X 11-inch 
easel-backed binder that stands up next to your com- 
puter. So there's no squinting at tiny type and fighting 
to keep the book open. 

The whole package — book, disks, and binder — is 
yours by mail for the special holiday price of only 
$29.97. And if you charge it, you can even call toll-free 
to order. Reserve your copy now, because after 
December 31, the price will be $34.97. 

TRS-60IZ30 Assembly Language Library. It's the 
assembly-language book for the '80s. 

'Disks do not contain a disk operating system: two disk drives or a 
disk copy utility are required to transfer the files. 

Call Toll-Free 1-800-258-5473 for credit card orders or send 
$29.97 plus $4.50 shipping and handling to Wayne Green Books. 
Retail Sales, Peterborough NH 03458. Dealer inquiries invited. 

I need TR&80/Z80 33DB8L 
Assembly Language Library. 




Send me copies of TRS-80/Z80 Assembly 

Language Library (BK7395-01) @ $29.97 each. I have 
enclosed $4.50 per system for shipping and handling. 

U MasterCard □ VISA □ AmEx □ payment enclosed 

Cardi Expires 



InterBankf . 
Name 



Signature. 



Address . 
City 



_ State Zip_. 



Wayne Green Books, Retail Sales, Peterborough, NH 03458 



^ Sew Usl o! Advertisers on Page 291 



80 Micro, December 1983 • 195 



(Qhange FOe, (M)AP, (Options or (T)RSDOS 



xxxxxxxxx Format 

Inset from Left Margin: x 

Search Display Mode: (C/R/L) x 

Print Mode: (C/M) x 
Output File Name: xxxxxxx/OUT 

Output File Status: (C/R/A) x 

Output Mode: (C/M) x 



Figure 9. Search options screen. 



searched the entire file, the message 
"Enter Key" appears again. You can 
now search for another key or combina- 
tion of keys. 

Search Options and Commands 

While the "Enter Key" message is 
present and the cursor is in column 1, 



you can jump to the Search minimenu 
by pressing the break key. The follow- 
ing message appears on the top line: 
"(Qhange File, (M)AP, (Captions or 
CDRSDOS". 

Typing O gives you the Options 
screen shown in Fig. 9. You can bypass 
any question in the options menu by 



pressing the enter key. The program dis- 
plays the meaning of abbreviations used 
in the current prompt at the bottom of 
the screen. 

The first line informs you of the for- 
mat used to index the file and you can't 
change it while searching a file. 

The inset number (X) ranges from 
zero to 9. Insetting is similar to indent- 
ing except that the first line of a record 
is flush with the left margin, and subse- 
quent lines are inset from the left mar- 
gin. The number displayed across from 
the word inset is the value currently 
used to inset records. You can change it 
by typing any number from zero to nine 
and then pressing the enter key. The 
default inset is two. 

While searching for a key or combi- 
nation of keys, you can display the in- 
formation continuously, or a record or 
line at a time. Type C and press the en- 
ter key to have records continuously 
displayed as the program finds them. 
Type R and press the enter key for 



Listing 6 continued 



inn 

(••(1 

• ••92 
MM) 
•M»4 
•MtS 
•••M 

• •197 

• ••18 
■Ml* 
M1M 
■•1(1 
•1112 
••II) 

• •1*4 
II1IS 
M1M 

• •1(7 

• •1)1 

• •;•» 

••li* 

Mill 
1(112 
Nil) 
•(114 
((Hi 
Hilt 

• •117 
••Hi 
••11* 
M12( 
••121 
••122 
Ml 2) 
•(124 
M12S 
81126 
••127 
81128 
81129 
Hill 
•11)1 
••1)2 
Ml)) 
191)4 
••135 

• •134 
Ml)7 
Hill 

• 8139 
(•14* 
••141 
M142 
((14) 
((144 
M14S 

• •144 
••147 
((141 

• •149 
M15« 
M1S1 
M1S2 

• (IS) 
M1S4 
MISS 
M1S4 
M1S7 
MIS) 
MISt 
••!•( 
••141 
••142 
Mlt) 
91144 
M14S 
••144 
••1(7 
M14( 
18169 

• 8178 
•(171 
((172 
(•17) 

• 1174 
M17S 
1(174 



PUBLIC 
PUBLIC 
PUBLIC 
PUBLIC 
PUBLIC 
PUBLIC 
PUBLIC 
PUBLIC 
PUBLIC 
PUBLIC 
PUBLIC 



BIURET 

BSPEEY 

CPYPOS 

DELEEY 

DPTM 

IX8KEY 

LSBYTE 

PEDULR 

SWIDTH 

SMMl 

TOPLR 



I be MB kay 
iback apaca kay 

(copyright uq position 

ids lata Bay 

idafault (11* ill! 

I Insert Bay 

icol of last byta in 23S byta rac 

ipanultluta Una (next to bottoai) 

lacraan width 

laccaan width almia 1 

i top lint of sdltoc scraan 









laxtarnal routines and buffers 




EXTERN 


ANSWER 


1 referenced by ROD 1 1 




iganaral pucpoaa 1 byta buffer 








lappand ona string to another 




EZTERR 


EATBBK 


Ibypaaa .eadlng blanka 








ibypaaa leading non-blank chat 








iHodal III aquatas 


JJUKMD 


ECU 


HI 


farrow down 


ARROWl 


ECU 


• lb 


i arrow laft 


ARROW* 


BOO 


• M 


larrow right 


ABJtatru 


ECU 


5B« 


i arrow up 


BUHET 


EOU 


1 


l BREAD 


SWIDTV 


EOU 


44 


lacraan wldtb 


SWK1 


EOU 


43 


jacraan width alnua 1 


TOPLR 


EOU 


11 


Itop Una of adit diaplay 


LSBVTE 


EOU 


42 


llaat col of record byta 2SS 


PENULN 


EOU 


14 


1 penult laat a Una (nait to laat Una) 


DPTTS 


EOU 


411 


idafault IbyS data fila alaa 


DELKEY 


EQU 


4 


[delete key (Shift, down arrow, D) 


IBSEEY 


EQU 


1PN 


i Inner t kay {CLEAR) 


BSPKEY 


EOU 


2 




CPYPOS 


EQU 


36 


t tab poa for copyright notlca 


EBMAIT 


EOU 


M4tH 




EBCRAR 




M2BH 




VDCHAR 


EQU 


M))B 




VOCLS 


(00 


• ICtR 




IRITIO 


IQU 


•MM 




PRCHAR 


■QO 


M3BH 


r print char 


PRTSCR 


EQU 


• 1DM 




DIBIT 


EQU 


442IB 


llnltlallia fila 


DOPED 


BOO 


4424H 


lopaa fila 


DPOSR 


EQU 


4442B 




DREAD 


EOU 


4436H 


; direct raad 


dwrite 


EOU 


44)tl 


(direct writa 


D BIS PC 


EOU 


444SB 


iTRSDOS oackapaca routine 


DPEOT 


EQU 


444M 


ipoaltlon to EOT 


DCLOSE 


EOU 


442*8 


icloaa fila 


JP2DOS 


EQU 


442DH 




COI4DOS 


EQU 


42»CH 




CKDTXT 


EQU 


4225R 




DELAY 




• MM 




CURSOR 


EQU 


41211 


icuraor la at thia poaltion 


CURCHR 


EOU 


4823H 


r cursor character 


CURBLR 


EQU 


481CH 


;• • blink, non« ■ no blink 


VIDEO 




3CIM 




DSCBPR 


EQU 


42141 




DERDSP 


EOU 


44(tB 


ITRSDOS arror display routine 


DIVIDE 


EOU 


4451H 


iTRSDOS divlda routine 


DKULT 




444EB 




EOREM 


EOU 


44111 


i and of aaaory 








iBOME 








ipoa curaor to rltcl 










SOME 


LD 


■L, VIDEO 






LD 


(CURSOR) ,BL 






«BT 












iBOTTOH 




ipoa curaor to bottoai line, col 1 








frag, altered: HL 




LD 


RL, VIDEO* )CM 






LD 


(CURSOR) ,HL 






BET 












IREWLN 



aan and poaltiona 



((177 
((171 
((17t 
llltl 
((111 
8(182 
84183 
((1(4 
84185 
••1M 
Ml 17 
84188 
((lit 
8 8194 
88191 
(■1(2 
Mil) 
((1(4 
((ItS 
18194 
Mlt7 
94198 
Mitt 
M2M 
••2(1 

• •2(2 
84283 
••214 
44111 
M2M 
49147 
442M 

• 8289 

• •211 
M211 
•9212 
••21) 
99214 
9921S 
99214 
99217 
99211 
99219 
9122* 
99221 

• •222 

• •22) 
••224 
••22S 
••224 
•1227 
•12 2 • 
••229 
•42)4 
•12)1 
••2)2 
88233 
••2)4 
M2)S 
••2)4 
••2)7 
•12) • 
••2)9 
M24* 
•1241 

• •242 

• •24) 
••244 
M24S 
••244 

• •247 
■•24* 
••241 
M2S* 
M2S1 
88252 
M2S) 
M2S4 

• 8255 
48256 
M2S7 
M2SI 
48259 

• 1261 
M2.1 

• •242 
••24) 
M244 



PUSH 
PUSS 

CALL 



NEWLS5 POP 

•or 

POP 
RET 



D£ 
BL 
BOTTOK 

a, «ds 

VDCBAR 

BC256M4 

POSCUR 

A, (SO ALU) 

) 



■ cursor to na«t to laat Una 
ipoatlon to bottoa lina 



it to last lln 



iqat curaor poaltion 

lent B-rov-1, C-col-1 

irag altaradi AT.BC 



BC.I 

■L, (CURSOR) 
Dl, VIDEO 



HL.DE 
I, CURS 
CCUM 



POP 

LD 

POP 

POP 

PUS! 

POP 

BET 



POSLP LD 



t.POSS 
DE.44 

HL.DE 



D,» 

.HL.DE 
ICURSOR) ,RL 



taiit if C > laat col 
lBL->start of video aap 
lHL-U.«(4 (rapaat aa naadad) 



Ol value 
value in CURSOR 



POS4 


POP 
POP 

RET 


■L 

DE 






RET 




lEBIPJIT 


EBIBIT 


ino RODI1I equivalent 








lOPID 



lopan fila 
lantryi BL-> buffa 
I DE- >DCB 



Luting 6 continued 



196 • 80 Micro, December 1983 



TH€ PfiOGRftm /TOR€ 



NOW SAVE 20% TO 50% ON THESE HOLIDAY SPECIALS 
SALE ENDS JAN. 10, 1984 

LIVITl t> lOSTOt k<>\ HASIUOK MODEi I AND III 




ALIEN TAXI 

b, John Oner „.- 

from fontastic Software 

You pilot the Allen Taxi against gravity to pick up and deli- 

ver passengers to an underground resort hotel On me first 

level you pick up a (are at each of the 12 taxi stands 

Complete that and 12 more are on the second level This 

sKiilful game lor 1 or 2 players has sound effects Joystick 

compatible 

#27188 16K Tape SJ*$5 $12.76 2*1 

#36515 32K Disk S19<95 S15.96 




0** 



PENETRATOR 

from Melbourne House 
Armed with missiles and Domes, you must tly your fighter 
to the enemy s cache ot neutron bombs and destroy them 
Your mission cs in tour Stages involving rugged terrain 
caverns and manmade obstacles — not to mention enemy 
radar missiles and paratroope'S Thrt new departure in 
arcade gaming allows you to set up your own terrain and 
enemy emplacements then save them tor future use 
Make your mission as hard cr easy as you like Joystick 






- 


* » 


- f 


-r 


_]•-• 



DESERT 
PERIL 

Or JOhn Olsen Jr 
from fantastic Software 
Your people s only chance to survive is for you to cross the 
Great Desert or they will die from the Zagon s deadly virus 
Arcade game with sound and graphics for 1 or 2 players 
has top ten scores and pause features Use keys or joy- 
stick to dodge killer satellites, drone bomber balloons and 
flying dragons Your skill and daring determine the future 1 
#29270 16K Tape $15-8$ $12.76 a o°° 
#29337 32K Disk $19^ $15.96 O** 



DEVIL'S 
TOWER 

oy John Olsen Jr 

from fantastic Software 

It's up to you to save your planet from the aliens. They ve 

reached the other side of DEVIL'S TOWER Robot Scouts 

come at you from the mountain, their war machines fire 

from the valley and their protector ships put up force fields 

to protect them Your skill and reflexes may protect you 

Macrnne language good graphics and sound effects For i 

or 2 piaycs 

#43366 16K Tape $15.9$ $12.76 atf 

#43377 32K Disk $1£9$ $15.96 



compatible 

#21160 16K Tape $2>^5 $19.96 

#21182 32K Disk $24<95 $19.96 



STRIKE 



& 



FORCE 





l o* 



from Melbourne House 

You are the warrior-savior of cities under relentless alien 

attack You re armed with rapid-fire missiles, radar and 

incendiary star-shells. Out you " need your fastest thinking 

and instantaneous response to protect yourself and your 

people Great real-time graphics' 

#38809 16K Tape $15<9$ $11.16 -jO " 

#38618 32K Disk S19«9$ $13.96 C* V 

MARTIAN 
PATROL 

by Pic* Maurice 
from Melbourne House 
Prepare for the mission only the toughest survive! Control 
your patrol cratt across security perimeter into hostile mai- 
tian terrain riddled with craters and outcrops to lump over 
Negotiate with extreme caution to avoid a devastating col- 
lision Take the offensive against savage attacks by mutat- 
ing alien crafts The dreaded MARTIAN PATROL — the 
most (eared mission on the planet Mars can be yours! 
#34759 16K Tape $15*9$ $12.76 2.O ' 
#34760 32K Disk $19*9$" $15.96 




VENTURE 





INVADERS 
FROM SPACE 



oy Cor) Miller 
from Acorn 

A last machine language approach to this classic (and 
addictive) space game Tne aliens drop bombs and move 
from side to side trying to overrun your bases You choose 
the speed enemy bomb frequency and accuracy, your 
number ol shots on screen and oases Unlike most such 
games, you can move your base and simultaneously tire at 
the invaders Full sound effects add even moie excitement 
to the incredible action Fun lc an ages and skii; eve>3 
#16591 16K Tape $14*95 $11.96 
#16603 32K Disk $20^5 $16.76 

KING OF 
THE JUNGLE 

by Vonaewoiie 
from Acorn 

An unusual combination ol last pinbaii action plus the chal- 
lenges and dangers ol an arcade game Keep the ball in 
play, scoring points as it caroms Irom obstacle to obstacle 
while wandering through the jungle searching lor the hid- 
den crown And try to avoid the deadly Cobra Lots ol 
action, sound and fun' Choice of 3 screens Can be used 
with Tnsstick |oystick , 

#39080 16K Tape $19*9$ S9.96 *>0° 
#39114 16K Disk $19^95" $9.96 

BASKET 
BALL 

by John Allen 

from Acorn 

You have to be last to keep up with the action as you try to 

outscore your opponent in live minutes of one-on-one 

basketball Compete against a friend or your computer 

Steal the bail, duck around your opponent and slant 
toward the basket lor a lay up! The graphics are based on a 
3-dimensional depiction ol a basketball court, and ball 
dribbling sounds add to the realism 

#16614 16K Tape $14*95 $7.46 s0°[c 
#16625 32K Disk tSttW $10.46 C* r 




o» Philip Cose 
from Hornons 

Set oft on a journey into the stronghold of an ancient 
wizard Danger is everywhere, and the penalty lor a mis- 
take may be complete destruction! The ultimate challenqe 
lies m the forbidden Riddle Room — are you ready lor the 
VENTURE 7 With sound effects, joystick compatible 

#361 1 1 16K Tape $14^5 $10.46 o/fl" 
#36122 16K Disk $19<9§ $13.96 0* V 



WEERD 

by Arthur Giecuer 
from Big five 

Maybe you Ihink you ve seen some pretty sfanqe things 
on your computer screen already but you haven't seen 
ANYTHING until you've tried WEERD. It s you against the 
WEEROEST set ot space craft ever But don't )ust stare at 
them, get your shields up before they wipe out your planet. 
Disk version has voice sound effects and permanent high 
scores Both are tnsstk* compatible 

#43388 16K Tape or $19*9$ $13.96 off'" 
#43399 32K Disk $19*9$ $13.96 0* r 




SUPER NOVA 

by Hogue & Konyu 
from Big Five 

Asteroids surround your ship. You must shoot the as- 
teroids, as we* as any of the five types ol alien spaceships. 
Use your thrusters for lull movement and rotation ol your 
ship — II you are overwhelmed, you can even jump to 
hyperspace 1 Written in last machine code with superb 
graphics, this game is GREAT 1 Joystick compatible 

#18043 16K Tape $15t$S $11.16 ^°'° 
#18111 32K Disk $13*9$ $13.96 O* 



v* 



Over 2500 Programs for TRS-80, ATARI 400/800, APPLE. IBM, VIC 20 & C64 



VISIT OUR STORES 

Southwest P1a:a. 8501 West Bowles Ave Littleton. CO 
Tenley Mall 4200 Wisconsin Ave . NW Washington DC 
Harvard Square. 13 Dunster SI Cambridge MA 
w Bell Plaza 6600 Security Blvd Baltimore M0 
White Flint Mall Rockville Pike. Rockville. MD 
Cherry Hill Mall. Rt 38 & Haddontield Hd Cherry Hill. NJ 
Monmouth Mall Rl 35 & Wyckoff Rd Eatontown. NJ 



Willowbrook Mall, 1400 Willowbrook. Wayne. NJ 
Nanuel Mall. Rt 59 4 Middletown Rd. Nanuet. NY 
Olentangy Plaza 829 Bethel Rd. Columbus OH 
Westmoreland Mall. Rt. 30 East Greensburg PA 
Montgomery Mall 230 Montgomery Mall North Wales PA 
Plymouth Meeting Mall, 500 Germantown Pike. Plymouth Meeting PA 
Century III Mall. SR 51 4 SR 885 West Mifflin Borough. PA 
Seven Corners Center, Falls Church. VA 



COMING SOON TO: 

CHICAGO 

OKLAHOMA CITY 

ST PETERSBURG 

TAMPA 

TULSA 



FRANCHISE 

OPENINGS IN 

SELECTED CITIES 



To Order Call Toll Free 800-424-2738 For Information Call (703) 556-9778 



Mai/orders Lis! computer item item* qty tape disk rom Dook price. Shipping tax 4 total 
Send check or M O lor total purchase plus $2 00 shipping and handling VA add *"■■> sales ta» 
Charge cards — include all embossed information List name address, city state zip 4 phone 

SEND 250 FOR OUR COMPLETE COLOR COMPUTER CATALOG 



S**> TH£ 



f^S 



^ 80 



PfiOGRflm /TOR€ 

c 1983 THE PROGRAM STORE 



THE PROGRAM STORE Dept. 14-12-3 Box 9582 4200 Wisconsin Avenue, NW Washington, DC. 20016 



Listing 6 continued 



• 1265 

• •266 

• •267 

• •248 

• (26i 

• »27» 

• •271 
••272 

• •27} 
••27 4 

• •275 
M27< 
••277 
••271 

• •279 
M28I 
••281 

• •2B2 

• •283 

• •284 

• •285 
M2B« 
••287 

• •288 

• •289 
II29» 
••291 
••292 
••293 

• •294 
••295 
••29t 
••297 
••298 

• •299 
I«3I» 
••3(1 
•13(2 

• •3(3 

• •3(4 
••3*5 
•■3*6 
••3(7 

• •3*8 

• •319 
««3H 
•1311 
•1312 
••313 
••314 
•1315 
••316 
■•317 
••318 
••319 

• •32> 
1(321 

• •322 
••323 

• •324 
•1325 
••326 
••327 
•1328 
••329 

• •331 

• •331 
••332 
•■333 
••334 



a,i 

( IDCBBL) ,A 
A, 32 
(IDCB1) ,A 



lUit: A-TJ1SD0S 



:RL-256 
lRL-25677 



OPINIT PUSH 
PUSH 

rosi 

CALL 

JP 
MM 

POP 
?CF 
CALL 
RET 

OP1T4 POP 

POP 
POP 
RET 

OUTCHR DEPB 



lopen file If peasant, alaa inlt fila 

■entry: BL->buffer 

I DE->DCB 

■exit: A-TRSDOS artor code 



nets last cec no. - • 
topan atteapt successful 



utput record buffer for Mod II 



SETMLR LD 



HL, (MDCBLR) 

HL 

(MAPLLR) ,HL 



I SETMLR 

iset MAPLLR to true last 

INODIII adjustment 



SETILR LO 



et INLLR to true la 



■ file ends at end of sector 

■therefore on Hod III, must dec (IDCBLR) 

l for true last record no. 



••335 








ipositl 


xi to rec in file 














•1337 












• •338 








lesit: 


A-TRSDOS error code 


• •339 












••34( 




RET 








• •341 






















1(342 












•1343 
• •344 


















ipositl 


n to end of fila 


•1345 












• 8346 








■esit: 


TRSDOS error coda 


■ 8347 


POSEOF 


cut 








• •348 












•■349 
• •351 
8B351 

88352 
88353 




RET 














1 READDR 










[direct 


read 


88354 












88355 












88356 








lexiti 


A-TRSDOS error msg 


■ •357 


READDR 


PUSH 


BC 






8(358 




CALL 


DPOSN 


,poslti 


on to rec BC 






JP 


NZ.RDDR5 




rror 


88368 




CALL 


DREAD 


[direct 


read 


■<3<1 




POP 


BC 






■ •362 




PUSH 


AP 




ore any error nag code 






CALL 


DPOSN 


(reposition to rec-BC 


• •364 








i needed 


for Model II compatibility 


• •365 












• ■366 




PET 








1(367 












((368 












((369 
■ •371 

••371 
••372 


















IREADMX 










iread n 


eat record 


••373 










DE->DCB 










lt.lt: 


A-TRSDOS error code 














• ■376 












• ■377 
(■378 
■ ■379 
•8388 


















[WRITE 










[direct 


write 


88381 












88382 










BC-rec. no. 


88383 


WRITE 


PUSH 


BC 






88384 




PUSH 


DE 






88385 




CALL 


DPOSN 


[position to record 






POP 


DE 






88387 




PUSH 


DE 






88388 




CALL 


DWRITE 


[write 




88389 




POP 


DE 






88398 












•■391 




CALL 






■ •392 












• •393 

• •394 






















••395 
• •396 




















tial write 










[entry: 


DE->DCB 










[•lit: 


A-TRSDOS error code 


• •399 












• •4II 

• •4(1 

• ■412 




RET 


















M4>3 
• ■414 


















iword processing KBHAIT routine 


••4(5 








[curaor 


alternataa with character 

Listing 6 continued 



COOSOL COMPUTER PRODUCTS 

COLUMBIA DATA MFC MONITORS PRINTERS 

• EPSON FX Series CALL 

• EPSON RX-80 w.'GRAFTRAX ♦ CALL 

• EPSON MX-100. 80, & F/T 
w'GRAFTRAX « CALL 

• OKIDATA 82A S420 

• OKIDATA 83A. 84A CALL 

• OKIDATA 92. 93. 2350 & 2410 CALL 

• NEC 3550 CALL 

• NEC 3510. 3515, 3520, 3525, & 3530 . CALL 
■» - T ^miir~ s • NEC 7710, 7715. 7720. 7725, & 7730. . CALL 

^n£2S» ' ' ' ' # NEC PC8023A-C . ..$449 





NEC PRINTERS 



• COLUMBIA System Includes: IBM COMPAT- 
IBLE Dual Floppies. 128K RAM, Two RS-232 
Serial ports, Centronic Printer port, IBM Com- 
patible Keyboard. Hi-Res Color Graphics 
Card. Green or Amber Monitor and more with 
$3,000 Software bundle 

COLUMBIA LOW TOTAL PRICE .... CALL 

OTHER COMPUTERS 

• EAGLE II Business Computer CALL 

• EAGLE III Business Computer CALL 

• EAGLE IV Business Computer CALL 

• EAGLE 1630 Computer CALL 

All EAGLE CPUs Includes Software Bundles 

• NEC PC-8001A, PC-8012A. PC-8031A. 
JB-1201. PC-8023 w/Software. . 

(NEC SYSTEM) $1995 

• NEC PC-8800 8-BIT or 16-BIT 
w/Software CALL 

• NEC APC SYSTEM 16 bit CALL 

• SANYO MBC-1000 with Bundled 
Software $1595 

• SANYO MPC-3000 with Bundled 
Software CALL 

• SANYO— NEW PC CALL 

SOFTWARE 

• STONEWARE CALL 

• SUB LOGIC-FLIGHT SIMULATOR ... $33 

• VISI CORP— VISICALC $239 

• ASTON-TATE D BASE II $465 

• CONTINENTAL ACCOUNTING CALL 

• I U S EASY WRITER $89 

• LOTUS CALL 

• MICRO PRO WORD STAR $372 



COLOR RGB * OTHER MONITORS 

• NEC JB-1205MA AMBER CALL 

• NEC JC-1203DH(A) Hi-Res RGB $599 

• NEC JB-1201 Green CALL 

• AMDEK Hi-Res RGC and others CALL 

• PRINCTON GRAPHICS Hi-Res RGB . CALL 

• TAXAN Hi-Res RGB and others CALL 



MODEMS 

HAYES SMARTMODEM (300 BAUD). . $227 
HAYES SMARTMODEM (300 & 1200) CALL 

HAYES CHRONOGRAPH S199 

NOVATION J-CAT $120 

NOVATION 212 AUTO-CAT CALL 

SIGNALMAN MARK I and others CALL 

U.D.S. Series Modems CALL 



CARDS 

AMDEK RGB COLOR II INTERFACE . $169 
M&R ENTERPRISES RGB INTERFACE $69 

VIDWX VIDEOTERM CARD $285 

B P O 16K EPSON. OKIDATA, NEC. . . S159 

WIZARD IPL $85 

OTHER APPLE CARDS CALL 




OTHER PRINTERS 

BROTHERS HR-1 Serial or Parallel . . . $799 

COMREX CR-1 Serial or Parallel CALL 

DAISYWRITER 2000 w.'48K Buffer , . . CALL 

TOSHIBA P1350-P or P1350-S $1649 

SILVER-REED EXP550-P 

or EXP550-S CALL 

SMITH-CORONA TP-1 and others . . CALL 

GEMINM0X $355, GEMINI 15 $499 

C ITOH 8510 Parallel or Serial CALL 

CITOH 1550 Parallel or Serial CALL 

C ITOH F10-40 and F10-55 Parallel 

or Serial CALL 



CALL 7 DAYS (800) 854-8498 Calif. (714) 545-2216 

COOSOL, INC., P.O. Box 2642, Costa Mesa, CA 92626-2642 

Computer Baron 3017 Harbor Blvd., Costa Mesa. CA 92626 (714) 979-2488 



record scroll. 

As it locates and displays each record 
containing the keys, the program waits 
for your instruction to continue, abort 
the search, print the record, or output 
the record to another disk file. Type L 
and press the enter key for tine scroll to 
have Search pause after displaying each 
line. The default search display mode is 
record scroll. 

You can print records found during a 
search continuously or manually. Type 
C and press the enter key to have each 
line printed as it appears on the screen. 
Type M and press the enter key to let 
you selectively print records or lines of 
text as they appear on the screen. The 
Search Display Mode determines 
whether a line or the entire record is 
printed. The default print mode is 
manual. 

The output fUe name is the name of 
the file to which you want to transfer 
records. Enter the file name using stan- 
dard TRSDOS notation to designate the 
name, extension, disk drive, and pass- 
word. If you don't specify an output file 
name, the output file has the same spec- 
ifications as the source file except for 
the extension OUT. 

You can dose, reset, or open the out- 



put file. Type C and press the enter key 
to close an output file. Type R and press 
the enter key to reset the output file to 
the first sector. If the file is closed, 
this opens the file and sets it to the first 
sector. 

Type A and press the enter key to ap- 
pend additional records to a file. The 
program retains previously written rec- 
ords. If the program finds the file dosed, 
it opens it and sets the file pointer to the 
end-of-file marker. Using append on a 
newly created file is equivalent to reset- 
ting the file. The default output file 
status is closed. 

You can write records found during a 
search to the output file continuously or 
manually. Type C and press the enter 
key to have each record written to the 
file as it's found. Type M and press the 
enter key to manually select records to 
be written to the output file. The default 
output file mode is manual. 

While searching you might wish to 
display the text around a particular rec- 
ord. Tap L to call the list routine. A 
dotted line indicates that you changed 
from the search to the list mode. The 
message on the top line reads "Listing 
XXXXX", where XXXXX is the sector 
number. In the list mode, the program 



sets the inset to zero while word wrap- 
around remains in effect. 

Press the down-arrow key to display 
a line at a time. If you hold the down- 
arrow key (and the repeat key on the 
Model II), the file scrolls forward. 

To backspace through the source file, 
press the up-arrow key and the text 
jumps back three sectors. The message 
"•Backspace Three Sectors*" appears. 
You can backspace to the beginning of 
the file in this manner. 

While listing, you can continue your 
search where you left off by pressing the 
S key. A dotted line indicates that 
you've changed from listing to search- 
ing the source file. The message on the 
top line of the screen reads "Searching 
XXXXX". 

You can write records found during 
searching or listing to a separate output 
file. Three of the options deal with the 
output file. 

The default output file specification 
is the same as the index file but has the 
extension OUT. If you don't want to 
change the name, tap the enter key in re- 
sponse to the Output File Name 
prompt. 

Typing R and pressing the enter key 
opens the output file and sets the output 



TRS-80 "CAN YOU BUY DIRECT? 



WARRANTY; 

the RADIO SHACK warranty 
accompanies all R. S. 
merchandise sold by us. 



Ask About Our 

"30 DAYS 

Buy- Back- Policy" 





ISAVE SALES TAX* 
PLUS DISCOUNT 

■TEXAS RESIDENTS ADD ONLY 4S 



FORT WORTH COMPUTERS 



WE ARE SERIOUS ABOUT SAVING YOU MONEY 



(Located 30 miles from Fort Worth) 
GRANBURY • NR FORT WORTH, TEXAS 76048 

TOLL FREE NUMBER: 1-800-433-S-A-V-E 

Monday thru Friday — 9:00 a.m. to 5:00 p.m. Texas Time 214 
(Order Inquiries/Customer Service &) IN TEXAS: 817-573-41 11*" ^ 

80 Micro, December 1983 • 199 



file pointer to the first record. Typing A 
and pressing the enter key opens the 
output file and sets the file pointer to 
the end of the file so that you can ap- 
pend records to the file. 

To close an open file, type C and 
press the enter key in response to the 
prompt. If the file is already closed, the 
program ignores the command. To by- 
pass the output file status prompt, press 
the enter key and the status won't 
change. 

You can write records to the output 
file as they appear by typing C and 



pressing the enter key in response to the 
output mode prompt. Alternatively, 
you can select which records you want 
to copy to the output file by typing M 
and pressing the enter key in response to 
the output mode prompt. 

As each record appears, you can copy 
it to the output file by pressing O before 
going on to the next record. Records are 
written to the output file in the same 
format they have in the source file. 

With MAP, you can edit or index and 
search the output file. At the end of the 
search, either close the file (using the 



options menu) or exit from the search 
program (the output file is closed when- 
ever you exit Search). 

You can print the entire contents of 
the screen by pressing W any time the 
program searches or lists lines of the 
source file on the screen. If the Search 
Display mode is set for record display, 
you can print the last record displayed 
any time while searching by pressing P. 

If the Search Display mode is set for 
line display, you can print the display's 
bottom line at any time while searching 
by pressing the P key. If you do so and 



Listing 6 continued 
















M4M 


WPIBVT PUS* 


BC 


:EC uaad ae counter 


M521 




CALL 


VDOAR 




IIU7 
••Ml 


LD 


A.l 

(CUULX) ,A 


inon bllnklne curior 


MS22 
••523 




PET 






U 










Mill 


LD 


A, 143 


ilerae curior over chmract.tr 


••524 
••525 








lIRASEL 


■■410 


LD 


(CURCHR) .A 










• •411 


splli LD 


K.lll 




■1524 








■eraaa to end of line 


•1412 


LD 


A,(n 


icureor on 


••527 


EUASEL 


LD 


A, IE* 




••41) 


CALL 


VT>C«A« 




• •52) 




CALL 


VDCHA* 




•■414 
•MIS 
••411 


WPIM CALL 
CP 

JP 


I1CHAA 
RI.WPIB2I 


Ijp If char entered 


• •521 
II53» 

■•5)1 
••512 




HtT 












1 VDIRIT 


••417 


DEC 


•C 












••411 


LD 


A,* 




MSI 3 


VDIRIT 


LD 


A.l 


■clear acreen lad lnltlallie 


M41I 


0* 


C 




••314 




CALL 


SCRPRO 




••421 


C? 


• 




M515 




CALL 


ERA* IS 




••421 

■•422 
•1423 


a 


Ml.WPtM 




••534 
••517 
••31* 
••511 




ACT 






LD 


A,»P» 


icuraor off 








IVDLIBE 


■•424 


CALL 


VDCHAR 












••42 J 


LD 


*C,5M 




••54* 








idiaplay line 


••424 


WPIB12 CALL 


IBCRAR 




••341 


VDLINE 


NOP 




I entry i Hl->etrinq 


••427 


C? 


f 




••542 








l*DR or (1 atop diepley 


•I42I 


J? 


MX.MPIB2I 


i]p It cbar entered 


••543 








teilti IL ->neit char 


M42I 


DEC 


■C 




• (544 


VDLIS 


LD 


A, (ID 


i«et cbar 


HUI 


LD 


A.l 




••345 




CP 


ID* 


lEOI? 


■Mil 


0« 


C 




M544 




J* 


I.VDL12 




ss; 


CP 


• 




M347 




CP 


•3 


lEOR? 


JP 


Rl.KMBll 




MS4I 




J* 


I.VDL12 




••414 


n 


HMD 




••54* 




CALL 


VIOLA* 


idiaplay char 


HI1S 








14551 




I at 


*L 




••4)4 


Willi FBI* 


AP 




M5S1 




J* 


VDLIS 


■loop until ton 


HUI 


LD 


A, IP! 




•1552 


VDL12 


CALL 


VDCHAR 


idiaplay EOR char 


M43I 


CALL 


VDCHAR 




••553 




INC 


8L 


i-> neit char 


• M3f 


LD 


A, I 




••55 4 
••555 
MSS4 
M357 




RET 






M4M 
• •441 


LD 
LD 


(CURBLK) , A 
A, 174 


iblinklnq curior 


' 






IVDLIH1 


••442 


LD 


(CURC1A) ,A 












M443 


pop 


AP 




MS5I 








iditplay Una, but not 101 




POP 


»c 




M55* 


VDLIX3 


SOP 




leatry: HL->etrlne 


tf445 


MT 






11551 








ilD* or •] atop dlaplay 


••444 

•4)447 








■•5*1 
■15*2 








I DOES ROT PRIHT (DHI 
lexlti IL ->nezt cbar 


' 




iIBLIN) and IILIHE 


■4)441 

M44* 








■•Ml 
•■Ml 


VDL3IS 




A, (HL) 




I1LIH3 ROP 




ll0*-*3 


CP 


ID* 




IIISI 


LD 


A.*) 




••MS 




JI 


I.VDL112 




M4S1 


J* 


»L«1 




MM* 




CP 


•3 




••432 


IBLIlt HOP 




pantryi lL->buf,*> ail length 

lekltt B-lenqth not includinq EO* char 


11567 




JR 


I.VDL312 




••453 






IIMI 




CALL 


VDCHA* 




M434 






lEOR-ID* or 11 


••Ml 




INC 


HL 




•MM 






iraturna with laat char enteced In A 


MS7I 




J» 


VDL3I5 




•Mil 


LO 


a, ion 




••571 


VDL312 


I*C 


*L 


i-> ne»t char 


•MS7 


UUI LB 


(EORCHHI ,A 




M572 
••57] 
M374 
M575 




KET 






MSI 
•MS* 


CALL 


A, in 

VDC1AH 


pcuraor an 








iIITI* 


•■444 


Lt> 


c#i 












M441 


UUt CALL 


I WAIT 




••374 








i«jet March kay (lncludea ./I op) 


••442 


ID 


D r A 




M577 








lentryi IL -> Input buffer 


••443 






jkey entered 


M57I 








I B • aai no. of char 


••444 


CP 


ID* 


tenter? 


• 157 9 


IEYIR 


LO 


A, IE* 




M4CS 


jp 


Z,«BLID.H 




MSM 




CALL 


VDCHAR 


■turn euraor on 


M444 


CP 


II 


ibackapaca? 


••3*1 




CALL 


ERASEL 


I eraae to end of line 


M447 


JP 


Z.KDLD5P 




••3*2 




LD 


C,« 


ichar counter 


M444 


CP 


UtRIEY 


ibraakT 


MSI) 


CETCIR 


SOP 






M44» 


JP 


I.WBM 




MSI4 




CALL 


IBMAIT 


loot cbar free) keyboard 


••471 


CP 


2M 


i ' '7 


••SIS 




CP 


2M 


j chat or control? 


■•471 


JP 


M.KILI5 


j jp If coatrol cbar 


MSM 




JP 


H.CTRL 


icoatrol If lele 211 


■•472 


LD 


A,l 




••517 




CP 


'•' 




■•473 


CP 


C 


j have aaa chae'e baan entered? 


MSM 




JP 


Z.IICHO 


ijp IBCMD If cad (I.e. ■•* preaeed) 


••474 


JP 


l.nUS 




MSM 




JP 


ALPIA 


lalpbaaiaaerlc entered 


••475 
••474 


LD 
LD 


A,D 
1IL) ,A 


i reload line* A uaed for calc 
iitora in but 


MSM 










11591 


EJCTARD 


LD 


A.C 




••477 


IMC 


C 


ilac char count 


• 1592 




CP 


B 




••471 


ipx: 


■L 




••511 




JP 


I.CCTCHR 




■147) 


CALL 


VDCHAS 


idiaplay chic 


•ISM 




ISC 


C 




• MM 


It 


IBLI5 


i loop until EO* 


M5»S 




LO 


*»'♦' 




••4(1 


KBLISP HOP 




iback apaca routlna 


•ISM 




JP 


ALPHAS 




••412 


LD 


A.l 




11597 


EUTOR 


LD 


A.C 




■14(3 


CP 


c 




MSM 




CP 


• 




••4(4 


JP 


1,«*L15 


ido notbinq if itirt of buf 


MSM 




JP 


I.GETCIR 




■•415 


LD 


A,l 




•MM 




ISC 


c 




••414 


CALL 


VSdA* 


ibackapaca 


Hill 




LD 


A, 124 




M4(7 


DEC 


■L 


tdac buf pointer 


■Ml 2 




JP 


ALPHAS 




Hill 


DEC 


C 


idee char count 


■Mil 


CHDARD 


LD 


A, 253 


land coda 


•MM 


JP 


urn 




•MM 




LD 


(8LI ,A 


patore and cad 


•MM 


mux LD 


A.(EORCIR) 


i break kay entered 


■ MM 




LD 


A,'*' 


land cbar 


■MM 


LD 


(*L) ,A 




•MM 




CALL 


VDCHAR 




• ■412 


CALL 


VDCIA* 




••••7 




CALL 


HARI 


iMtk ai operator 


••413 


LD 


A.BRXIEY 




••«•• 




ISC 


■L 




M4M 


LD 


(EORCHP.) ,A 




•MM 




JP 


CETCHR 




••415 


J* 


IBLIDI 




•Mil 


CRDOR 


LD 


A. 25 4 


ioc coda 


M4M 


I1LID* MOP 




iplace EO* (*3 or ID!) 


•Mil 




LO 


(ID .A 




M4»7 


LD 


A.dORO*) 




• 1*12 




LD 


A, 1 1 " 


lor cbar 


M4M 


LO 


(BL1.A 




■Ml) 




CALL 


VDCHAR 




M4M 


1 CALL 


VDCBA* 


idiaplay ID* VOID VOID VOID VOID VOID 


• •414 




CALL 


HAIR 


mark aa operator 


•MM 


IBLIDI IPC 


■L 


ilL-Hayte peat CO* 


•MIS 




IIC 


IL 




••5(1 


LD 


A,»PI 




•Nil 




JP 


CSTCRI 


iloop 


MSI2 


CALL 


VDCIA* 


icuraor off 


■M17 


l 








••Ml 


LD 


A.IEORCHAl 




•Ml) 








■alpha numeric char 


MM4 


LD 


».c 




•Mil 


ALMA 


LD 


D.A 


l tent? atora A 


••MS 


RET 






•Mil 




LD 


A,C 


lA now ■ char count 


■MM 
MM7 
••Ml 


COUCH* DIP* 


ID* 


lEOR chirictar 


•M21 
• M22 
•M21 




CP 
JP 


• 
J.QETCHR 


icp to pjai char 

(loop until CT* or CRD 

pohac ok so proceaa 


' 




(PRIHIT 




MM* 








•M24 




ISC 


C 


Ibuap counter 




MSI* 


PHI HIT RET 




ilaltlallia printer (HOD II only) 


•M2S 




LD 


A.D 


ireetoce A 


••511 








• 16 26 




CP 


*♦* 






•1512 






1 SCRPIC 


•M27 




JP 


I.CKDAHC 




••511 








Mill 




Cf 


•M 


l reveraa ' 




•1514 


(CIPRO LD 


(DSOW.A 


ncroll protect 


•Mil 




JP 


I.CMDOR 




M515 
••514 

M517 


ret 






•Ml* 

■Mil 
•M32 


ALPHAS 

ALPIA7 


LD 

IK 

CALL 


(IL) .A 

IL 

VDCHAR 


ibuap IL 
idiaplay cbar 


' 




1 ERASES 


MSI* 








•Mil 




JP 


GETCHR 


iloop 




•1511 
••52* 


IIASCS LD 


A, IP* 


reraae to end of icreen 


•Mil 


































Listing 6 continued 



200 • 80 Micro, December 1983 



Tired of swapping Disks from Inventory to Accounts Receivable 
to Accounts Payable etc.? Now, one system does it all. 

Introducing 

The M.B.S. 
Business Management System 

At last a completely Integrated, Menu driven System for: 



INVOICING 
Opens Customer Files 
Opens A/R Accounts 
Updates Inventory 
Stores Mail List Files 
Stores Sales Records 
Computes Sales Tax 

CUSTOMER FILES 
Maintains Order Status 
Prints Labels 

Prints Customer Balances 
Stores Order Amounts 
Stores Order Payments 
Prints Statements 



MAIL LABELS 

Stores by Variable File Names 
Sorts by Zip Code 
Sorts by Name 

• INVENTORY 

Sets Upper and Lower Limits 
Generates Purchase Orders 
Lists Inventory by Vendor 

• ACCOUNTS RECEIVABLE 

Open A/R Accounts 
Generates Monthly Statements 
Interest and Non-Interest Accounts 
Listing of Accounts Balances 
Manually Enter Charges and Payments 



ACCOUNTS PAYABLE 

Enter Charges to Accounts 
Enter Payments to Accounts 
List Payable Balances 

1 CHECK WRITING 
Print or Record Checks 
Maintains Bank Balance 
Credit Accounts Payable 
Stores Expense Totals 

FINANCIAL STATEMENTS 

Prints Sales Reports 

Prints Operating Statements 

Prints Receipts Reports 

Modifies Expense and Sales Totals 



Yes, now there is a complete business system for the small business man. With our Business Management System, you can increase sales with our mail label function. 
Complete your Schedule C in as little as 15 minutes. Know what your business is doing, and maintain other important business functions. 

■$< 
This easy to use system comes complete with instruction manual, and diskette on Dosplus mini TDOS operating system with extended Basic, and one year support. All 

programs are in Basic, and require two disk drives and 48K RAM. If you have waited for the right business software for your business, your wait is over. Our current 

users love our system and you will too. 



Special Introductory Price $249. 95 



GAMEMASTER 

Do you get complaints from your spouse, family and friends that you isolate yourself from them while "playing" with your computer? Do you wish there was a game 
that could get everyone involved? Do you enjoy creative expressions as well as playing games? If so, we have a unique Program/Game wich could be the answer. It's 
colled GAMEMASTER. 

This program lets you easily develop and play your own adventure games. It does not create a game which you play against the computer, but creates a game which 
you the game creator, direct the game play while your computer maintains the game conditions and resolves combat. 

GAMEMASTER package includes routines for creating player characters, creatures, items (weapons, armour, implements, or treasures), and environment (time. 
location etc.). Comes on diskette with sample scenerio. Requires one disk drive and 48k ram. 

Price $ 39. 95 



Specify Model I, Model HI, Model IV, or LNW 
Dealer Inquiries Invited 



PRINTERS 

Prowriter $ 379 

Prowriter2 $ 699 

StarwriterFlO $1299 

Okldata82A $ 409 

Okidata83A $ 649 

Okldata92 $ 509 

Okidata93 $ 899 

Silver Reed $ 499 

Mannesmann Tally Call 

NEC Call 

Transtar Call 



PERIPHERALS 

Hayes Smartmodem $ 219 

Hayes 300/1200 $539 

Holmes VID 80 $259 

HolmesCPM2.2 $109 

64KRam $114 

Holmes DX3DC $ 157 

Holmes DX4DC $ 157 

Holmes High Speed Ram . . $ 29 

Holmes Sprinter I $ 89 

Holmes Sprinter III $ 89 

Holmes Sprinter KX $ 129 

Diskettes Call 



LN.W. 

LNW80II $1495 

LNDoubler w/DOS $ 199 

System Expansion $ 399 

MONITORS 

Amdek300G $ 149 

Amdek300A $ 159 

AmdekColorl $ 339 

Amdek Color II $ 469 

Taxan Amber » 149 

Taxan Green $ 139 

Taxan RGBI $ 319 

Taxan RGB III $ 599 



SOFTWARE 

DOSPLUS 3.5 $119 

DOSPLUS IV $119 

MTERM $ 69 

TRSDOS 6.0 Plus Enhance $ 45 

Super Utility Plus $ 69 

Newscrlpt7.1 $ 99 

Newscript w/labels $ 109 

FileConverter $ 20 

Trashman $ 35 

Faster $ 27 

Tallymaster $ 69 

Electric Webster $129 



^co^ 

S^l^I^ CO 



*.. f<* 



Microcomputer Business Systems 
14030 South Springfield Road 
Brandy wine, Maryland 20613 

1-800-638-1857 

in Maryland 1 (301) 372-8555 — Washington, D.C. Local Call 




v See List ol A<to>rtis»rs on Page 291 



80 Micro, December 1983 • 201 



the printer isn't ready, the program 
pauses until you press the break key. 

You can exit from the Search pro- 
gram by pressing the break key while it 
lists or searches text, or by pressing the 
break key in response to the "Enter 
Key" message. The minimenu appears 
again on the top line. Press T to return 
to TRSDOS. 

Possible Applications 

Entering reference collections in disk 
Mies and searching with Search elimi- 
nates extensive cross-indexed card files 



or specially coded computer files. You 
can enter titles, authors, or journal 
names in any order. You can also add 
key words to the record. 

Search's output option is helpful 
when composing the reference section 
of any research or technical paper. 
Search your reference Mies for the ap- 
propriate references and copy them to 
an output file. You can incorporate the 
output file into a manuscript or edit it as 
an independent file. 

You can keep information about 
clients or club members in text format 



and retrieve it rapidly with Search. A 
realtor could keep a record of each 
client, type of property required, geo- 
graphic location, and price range. 
When a new property becomes avail- 
able, he could search for the ap- 
propriate keys and locate the clients 
who might be interested. He could also 
use the program to select properties a 
new client might want to purchase. 

You can search parts listings rapidly. 
Each record of a file could store infor- 
mation on automobile parts, and con- 
tain a description of part, stock num- 



Listing 6 continued 


















■MM 


CTRL 


NOP 




.•control char «U»d 


••74* 




POP 


■C 




•M)i 




CP 


■M 


i? CR 


•»7}« 




CALL 


poseuR 


irapoaltlon curaor 


MMT 




JP 


l,CTRL*D 




M7S1 




RET 






(Mil 




CP 


(• 


|7 beckspe.ee 


M7}2 


i 








Milt 




JP 


I.CTULM 




M7}3 


COOR 


otru 


i 


icoordlnata atorao* 


■MM 

MMI 




CP 

JP 


1 

I. CTRL* 1 


ivaa braak bit? 


M7S4 
■•7}} 


















llWRl 


Mi 42 
•••43 




JP 

HOP 


crrCM 


1 other CTRL not • llovad' 
iDreet ley routine 


M7M 

M7S7 










ctrlm 


PRLIM 


HOP 




■ print Una 


(M44 




LO 


»,c 




((7}t 








■ ■L-XMif far 


Nttl 




CP 


■ 


i««« tree. Bit on ct - 17 


tt7S* 








it— no. char, c*andlna control char 


MM 




JP 


a.CTUii 


istert o«er 


t(7il 


PRLLP 


LD 


A, (ID 




MMI 




LD 


A.ira 




II' 61 




CALL 


PBOAR 


1 print char 


Mill 




CALL 


VDCMAR 


rtarn off cursor 


117 6 2 




CALL 


ESCHAR 


taaa If braak pseaaad 


MMI 




LD 


A.MXUT 


|A-1 •> bIMl hit 


11-6 5 




CP 


•1 




•MS* 




LD 


».l 




1176 4 




RET 


I 




MtSl 




RET 






11765 




1HC 


IL 


ipt to -.en char 


MM] 


CTRLM 


LD 


a. Matin 




M7ti 




LD 


A, B 




MtM 


CTRLiD 


»0P 




lEOR 


11767 




CP 


• 




•MM 




LO 


(■L) .» 




117 6 B 




JP 


i.pruro 




IMS! 




JP 


• REM) 




»»7 6 9 




DEC 


> 


idac chat count 


•MM 


CTHLI8 


hop 




■backapaca routine 


M77* 




JP 


PRLLP 




IM}7 




LD 


D,A 


it.»p uvi A In D 


(•771 


PRI.NED 


LD 


A.C 




MMI 




LO 


A,C 




••77 2 




CALL 


PRCHAR 




MMI 




CP 


I 


j If wro cannot backapaca 


••77 3 




RAT 






•Nil 
MMI 




JP 

DEC 


l.CITCSI 

C 


l doc count* c 


••774 
••77} 
















iPRSCa 


MMI 
MMI 




DEC 


KL 
A, 18 


idac buffar pointer 


1*776 
M777 












LD 








iptlnt icraati 


MM* 




CALL 


VDCRA* 


j erase ona char 


••771 


run 


CALL 


PRTSCR 




MMS 


) 








••77* 




RET 






Mtii 
MMI 




PCSS 


■L 

•L, (CURSOR) 




M7M 
M7«i 










purser 


Dtrt 


M 


tprlntar buffar 


MMI 




LD 


Dt.il 




••712 




Dtr* 


•DO 




Mt7I 




CR 

ADO 


A 
HL.DI 




M7I1 

M7I4 
















ipikui 


MMI 
Mt72 




LD 


A, '- ' 




••7(5 
M7M 












LC 


(■L) ,A 




PRTBLa 


MM 


BC 


l print tie it to bottoa Una 


•M7] 




POP 


■L 




••7(7 




MM 


DE 




•M74 




n 


C.ETCHR 




mn 




pan 


■L 




lit 75 










••7(1 

117 it 




LD 


(,REbTJL» 
C,( 




•M74 


OOtD 


■OF 




ikayboard coaaand tout In* 






M«77 




LD 


A, 143 




•MM 




LO 


D.SU1DTH 




•M7I 




LD 


(CURCHK) ,A 


lis roe cursor 


117 92 




LD 


HL.PRTBUT 




INI) 




CALL 


■■MA XT 


1 9* t the r 


•17 M 




CALL 


HOVELN 




•MM 




CP 


m 




MTM 




LO 


HL.PRTBUP 




•Mil 




JP 


I, RSTCUR 




•(?•} 




LD 


K.SW1DTR 




• Mil 




LD 


D.A 




M7M 




LD 


ClriH 




■MM 




LD 


A,C 




•MM 




CALL 


PRLlNt 




MtM 




CP 


■ 




•MM 




LD 


B.PEMULN 




■MM 




JP 


ifirrcui 




M7M 




LD 


C.I 




•MM 




LD 


».D 


; tee tote A 


IISII 




CALL 


POSCOR 


irapoaltlon curaoi to nait to laat Hm 


•M»7 




CP 


■♦■ 




••Ml 




POP 


(X 




■MM 




JP 


I.RRARD 




MM2 




POP 


DE 




MtM 




CP 


tM 


1 [ ever ee ' 


MM3 




POP 


K 




MtM 




JP 


X.EROR 




••M4 




RET 






MtM 
■MM 




CP 

Jt> 


I.CKDOIR 




MM3 
MM* 
















iPRTREC 


(MM 


CMDOU 


■OP 






MM7 










•MM 




LD 


(IL) ,A 




•(Ml 


PRTRE." 


■OP 




1 print racord froa screen 


•MM 




CALL 


VDCMAR 




MM* 




LD 


C.( 




•MM 




JP 


OD0S 




•MM 




LD 


A,(SCRL»> 




•MM 


IRAK) 


LD 


A. '♦ ' 




lien 




CP 


1 




•MM 




LD 


<!L] ,A 




•••12 




JP 


1.PRTR2 




•MM 




CALL 


VDCIAR 




•■■11 




LD 


A, I SOU*) 




Hill 




JP 


CMDOI 




MI14 




DEC 


A 




■•7 11 


(DOR 


LD 


A, ' 1 " 




Mil} 


PRTR2 


LD 


t.A 




• •7(2 




LD 


(IL).A 




• •116 


PRTRLP 


LD 


HL.PRTBUP 




• •7)) 




CALL 


VDCIAIi 




•••17 




LD 


D.SWIDTH 




• I7I4 


CHDOU 


HOP 






••IK 




TOSH 


BC 




• MM 




ate 


C 




•■•1* 




CALL 


MOVELH 




mil 




IHC 


RL 




• 1821 




LD 


HL.PRTBUP 




•17(7 


RSTCUR 


LD 


A, 174 




•••21 




LD 


t.tKIDTR 




Hill 




LD 


(CURCHR) ,A 




•••22 




LD 


C,*DH 




MTM 




JP 


CETCHA 




•••2) 




CALL 


PRUNE 




MTM 


| 








■••24 




POP 


IC 




••711 


ma 


LD 


».C 




■112} 




LD 


A. PERTH 




M712 




push 


AT 




11826 




CP 


■ 


ibaa laat Una baaa raacbad? 


M711 




LD 


A.tri 




• •127 




JP 


I.PRTR5 




M714 




CALL 


VDCRAR 


(turn off curaor 


■■■21 




JP 


I.PRTR} 




M7» 




POP 


AP 


lA • Boa cnaractar 


MM* 




IPX 


■ 




MTM 




RET 






•••3( 




J( 


PRTRLP 




M717 










HU1 


nrr*} 


RET 






MTU 
MTU 


un 


rosi 

LD 


■L 
Dt.il 


iplaca aarh oa lire under chat 


(••32 
■••33 










' 






iRDLT 


M7J» 

M7 21 




OR 
ADO 


A 
HL.DE 




MM4 
MM} 




















laatryi HL-»u 1 t lpi lcend 


W711 




LD 


A, 111 




Hill 








1 A-esoll IplXai 


• M21 




LD 


IILI.A 




11837 








je.lt-. IL-product, A-overflov byte 


• •724 




POP 


■L 




f(H< 


■ULT 


CALL 


DHDLT 




•172} 




RET 






MM* 




PUSH 


HL 




MTM 










•■(41 




LD 


let 












• •7 27 
••721 








iROVCLR 


•■Ml 
MM 2 




LD 


L.A 


lA now haa over flow byta 








1 — _ _™ 




POP 


AP 


• »72» 








move chat frOa screen to buffer 


MMI 




RET 






mn 

■■731 








taatryi hi.-. buffer, d- no. char 

I BC-cureor coordinate* 


••(44 
•••4} 
















iPTPS 


••712 
MTM 


HOVELH 


LD 
CP 


A,D 




• ••46 

MI47 












PTT5 


LD 


HL.CKDTXT 


i point (IL) to cad Uaa 


••731 




RET 


1 


ino traasfar If char count - • 


MMI 




CALL 


EA TITB HE 


ibypaa* cssd 


M73J 




LD 


IC0OR) ,K 


;»tore cuilor coordinate* 


MM* 




CALL 


EATBIH 


ibypaaa tralUroj blank* 


M7M 




CALL 


couo* 


.poiitlon curaor 


MMI 




RET 




i«L-> flrat char of file apac 


M717 
M73I 




PCS! 


■c 




MMI 
MM 2 














■c.iooom) 










iDOSCMD 


MTM 

M7M 




CALL 


POtCUR 




MM3 
MMI 












LD 








* 




lesecute OB file trier. DCS 


M7*l 




LD 


C,D 




• 1855 








ilL->naM of OB fill 


M74J 




PCS* 


IC 




■•tM 


DO SCUD 


PL'S* 


■L 




M7 44 




LO 


D.I 




• •857 




LD 


Dt.CUDTRT 


iDE-)T»SD05 cad Ham buffar 




LD 


t.L 




•■Ml 




CALL 


APPP.RE 


laova cad to cad Una buffer 


M7*} 




LD 


HI.. (CURSOR 1 




MM* 








inoaoad to paa* par an* ten to proorsa 


Mitt 




POP 


K 




MM* 




POP 


(X 




••747 




LD 


DE.PRTBUr 




••Ml 




JP 


copioos 




MTM 




LDIR 




itranafar to UTtOf 










Listing 6 continued 



202 • 80 Micro, December 1983 




PACKAGES 
AVAILABLE FOR 



TRS-80 MODEL 16 



$500. 

per package 



Available for TRS-80 
Model 12 A Model 1 1 
Single user 




• General Ledger 
° Accounts Payable 

• Accounts Receivable 
' Payroll 

• Inventory / Invoicing 
' Job Costing 

(Modifications Availabla) , 



1-214-341-9874 




BOB 



DAISY WHEEL 

New Smith Corona TP-2 



True letter quality printer for less than the cost of an 
office typewriter! Priced $500 less than other popular 
daisy wheel printers! 

SALE PRICE: 
$449 



FEATURES: 

it Friction feed 

it 15 cps, 120 wpm 

if Changeable daisy wheels* 

it Parallel or serial interface 

it Compatible with R/S. Apple, etc 

HSUNLOCK SYSTEMS 
4217 Carolina Ave 
Richmond. Va 23222 
AW1T10NAL PRINTER SPECIALS 
Ev6on 




^456 



OlUdcuta Gemini CTltok 
RX&O $329 S2A $399 10 $299 6510AP $369 
SOFT 429 ISA 639 10S 3*9 1550P 629 
FX&0 559 92 499 15 439 ¥10-40 1149 
FXJ00 739 93 U9 I5S 529 F/0-55 1495 
WE WILL MEET ANV AVVEPT1SEV COST IN-STOCK 



TO ORDER CALL TOLL FREE 800-368-9191 

In Virginia call 804-321-9191 

We accept MasterCard. Visa and CODs 



MICRO DESIGN INTRODUCES 

REMOVABLE 

WINCHESTER HARD DISK SYSTEM 

For the TRS-80, IBM & Apple Computer 




FEATURES 

• Approximately nine times faster than standard floppy disk drives 

• Mix & Match Fixed & Removable drives for a custom system 
Up to 45 megabyte on-line storage • Built'in error detection & correction. 



Starting 
At 



$179995 



Tex. Res. Call 512-441-7890 



MICRO DESIGN 

6301 Manchaca RA Suite B • Austin, TX 78745 



1-800-531-5002 



Sm our other ads on pgs. 127, 289 



•429 



>* See Ust of Advertisers on Page 291 



80 Micro, December 1983 • 203 



ber, manufacturer, model number, and 
equivalent products from other manu- 
facturers. A customer needs a water 
pump for a 1970, 250-cubic-inch Chev- 
rolet. Type in Chevro+ 1970+250ci 
and the appropriate records appear with 
the model number, your stock number, 
and price. 

Limitations 

The Mindex and Search programs 
have several limitations. First, you must 
reindex the source file whenever you 
modify it, and you can't modify the 
source file directly from the search 
program. 

The major limitation on modifying a 
record-compressed text file is that if the 
modified record is longer than the origi- 
nal, you can't modify it in place. You 
can overcome this problem by deleting 
the old record (overwriting it with O's 
or some other character) and appending 
the modification to the end of the file. 

One disadvantage of this method is 
that with extensive use the file size 
quickly becomes too large and you must 
use a reformatting utility to reorganize 
the file (eliminating the deleted 
records). A minor disadvantage is that 
the position of a record within a file 
changes every time you modify it. 

My solution to this problem (a pro- 
gram called 3by5) is to assign one record 
per sector. Although this method 
doesn't optimize disk space, it's simple 
to implement and doesn't require pe- 



riodic file maintenance with a reformat- 
ting utility. 

Another problem with Mindex and 
Search is that they are designed for sys- 
tems with disk drives. Random access is 
slow on disk drives, and Search by- 
passes this problem by storing as much 
of the index file in RAM as possible. 
Large hard disk files can have indexes 
one or two orders of magnitude greater 
than available memory. 

The solution is simple: 251 random 
access records are set aside for the index 
file. The n 01 bits of all the signature 
strings are stored in the n* logical record 
of the file. Only the index records cor- 
responding to the hash values of the 
search key are read from the disk. You 
don't need to sequentially read the en- 
tire index file. 

This file access method, however, re- 
quires multiple, nonsequential disk 
reads from the index file, and a floppy 
disk based system is too slow. I am in 
the process of modifying Mindex and 
Search for TRSDOS, TRS-XENIX, 
and LDOS hard-disk systems. 

Future of Text Storage 

Several publishing companies have 
plans to distribute textual material on 
laser video discs. These discs hold large 
amounts of information (text, numeri- 
cal, program, and pictorial), can be in- 
terfaced to microcomputers, and can be 
mass produced. 

The tremendous amount of informa- 
tion stored on the video disc creates a 



problem. How can you rapidly search 
large text files (reference works such as 
encyclopedias, thesauruses, and so on)? 
Sequential access methods are too slow 
for these huge files. Tree-searching al- 
gorithms aren't appropriate for text. 

Signature screening is a partial 
answer to this problem. You must make 
substantial modifications to apply this 
method to extremely large files stored 
on machines with relatively slow direct 
access times. The goal is to devise 
hashing algorithms that maximize the 
specificity of the screening test (reduce 
collisions). 

The application of signature screen- 
ing isn't limited to text files. With modi- 
fication, you can apply it to records 
with fixed fields. Indexed sequential 
and signature screening methods can 
access a data file. You can extend the 
concept of signature screening in 
Mindex and Search to include many 
sophisticated applications. ■ 

Joseph E. Trojak is the president of 
Softshell Corporation, P.O. Box 18522, 
Baltimore, MD 21237. Softshell sells 
3by5, an enhanced information re- 
trieval system that incorporates Mindex 
and Search. 

Mindex and Search are available from 
the author at $12.50 for a TRSDOS 1.3 
Model IU/4 disk and $14 for a TRSDOS 
2. A Model 11/ 12/ 16 disk. Specify source 
code or the assembled version. The price 
includes U.S. postage; Maryland resi- 
dents must add 5 percent sales tax. 



Letrtg 6 continued 



• 8881 
«»662 
•1883 
••884 

• •88S 

• >88i 

• •887 



88S91 
80892 

• •893 

• •894 
••895 

• •894 

• •897 

• •891 
••899 

• •911 

• •9(1 

• •9(2 

• •9(3 

• •9(4 
M9*S 
M9li 

• •9>7 

• •91) 

• •919 

• )91( 
••911 
••912 
••911 
••914 

• •915 

• •916 
••917 

• •918 



• •862 JP DOSCKD 

• 1863 | 

• •86 4 

• •865 

• •866 

••867 ERRDSP OR (C(H 

••868 

••869 CALL DERDSP 

M87( UT 

••871 , 

••872 DISBJUI RET 

••87 3 i 

• •87 4 STHEBD LD DE,(EOHEN> 
••875 LD (HEHEHD) ,0E 
••876 RET 

••877 HEHEBD DEPW • 

••878 i 

••879 



I DC BOS 
IDCBRL 
IDCBCR 



DEPB 
DEPB 

MM 
1 

DETB 
DEFB 
DEfB 
DEPB 
DEPB 
HP! 

DEPW 



IDCBLR DEPH 

DEES 
INLLR DEPH 



DEPB 

DEPB 

DEPB 

DEPB 

DEPB 

DEPB 

HDCBOS DEPB 

ItDCBRL DEPB 

HDCBCR DEPH 

HDCBLR DEPW 

DEPS 

HAPLLR DEPW 

OOTDCB DEPS 

SORLN 



DEPB 



ACCESS DEPB 

STHAP DEPB 

END 



iiRiOSP 
I 

terror display 

net bit 6 (detailed arror esq) and 
is«t bit 7 (return to caller) 
icall error dsplay message 



Hod II compatibility 



■ ato're end of Memory 

■ most be called before DE chanoedllll 
lend of m e m ory storage 



■Input file DCB 



j EOF Offset 




I logical record 


length 


.-current record 




■last record 




(extents 




(true lest sector 



:-->; file oca 



■ BOP offaet 

I logical record length 
;current record (actually 
■ last record 



■output file DCB 
■start of record line number 
■for each line of rec displayed 
l (SORLN) is decremented 

■dummy for Hod II compatibility 



Program Listing 7. Assembly-language listing o/S30PT/SRC:l. 


•••ii 


■S30PT/SRC.1.2 




••••2 
••••3 
• •••4 


■ Jun 21 


, 1983 




■SEARCH 


OPTIONS 


ROUTINE 


••••5 

• •••6 
••■•7 

• 1116 

• •••9 


■COPYRIGHT 1983 


SOPTSHELL CORPORATION ALL RIGBTS RESERVED 


SJOPT 


MBCT 


■start of relocatable program aection 


1 


PUBLIC 


OFT 










•Mil 




EXTERN 


RBLINE,RBLIM,«BCHAR,«.BWAIT 


• ••12 




EXTERN 


MM 


•••13 




EXTERN 


VDCLS , VDLI HE . VDCR AR 


•••14 




EXTERN 


ROME . BOTTOH . NENU 


•MIS 




EXTERN 


CURPOS.POSCUR 


•M16 




EXTERN 


ERASEL, ERASES 


• ••17 




EXTERN 


OPEN , CLOSE, POSEOP , POSN 


•Ml* 




EXTERN 


OUTDCB 


• ••19 






ARROWS, ARROWL, AR ROWR , ARROWU , BRXKET , SWIDTH , PENULN 


Mat 


1 






•M21 




EXTERN 


NINSET,SINSET,SDHODE,PRHODE,OHODE, ANSWER 


• ••22 




EXTERN 


PSEOR.OPSTAT.OPCOWD.OPmOUT 


•M23 




UTBJB1 


OPNAHE.IEYBUP 


•M24 

•M25 
•M26 

•M27 
•••21 

•••29 




EXTERN 


APPEND 


OPTCOL 


MO 


42 iColumn for option answers 






■ OPT 








inn 








• ••31 






■entryt no paraeters paaaad 


•M32 








•M33 






1 one exit point: OPTEND 


•••34 






■ caiiai orrpcB.orrpc 


IM35 






ireg altered: AP.BC.DE.BL 


•••36 


.?Z 


LD 


BC,4'254 ltS:Cl 


•M37 




CALL 


POSCDK 


•••38 




CALL 


ERASES lerase to end of screen 


•M39 


0PT« 


LD 


A,(PSEOR) iget pseudo EOR char 


MM 




ct 


•dh lis it stsndard EOR <»DH>7 


•M41 




JR 


I, OPTtR DP 0PTM if record format 


•M42 




LD 


HL.HSGPP i 'Paragraph Format'*) 


•••41 




CALL 


VDLINE 


11(44 




JB 


OPTfE 


•••45 


OPTtR 


LD 


HL.HSGRP ■ 'Record Format'*) 


MM 




CALL 


VDLINI 


•••47 


OPT*E 


n 


■end of OPT* section 


•••48 


1 ..... 






•••49 




to 


BC, 5*256 ir6:Cl 


MM 




CALL 


FOSCUB 


•••51 




LD 


hl.ophsgi i 'Inset from Left Hargln'*! 


•M52 




CALL 


VDLINE 


MM 




LB 


A.IHlNSrri iget inset value 


•M54 




a:.: 


A, 4* (convert to ASCII 


•••55 




CALL 


VDCNAR (display inset value 


•••56 


> 




Lining 7 continued 



204 • 80 Micro, December 1983 



Listing 7 continued 






MM1 




LD 


BC,t*25i 


llTlCl 


•MM 




CALL 


POSCUR 




• ••5* 




LI) 


HL.OPHSG2 


/'Saarch Display Kodsi C/R/L'l) 


•••*• 




CALL 


VDLINE 




MM1 




LD 


A, (SDMOOE) 


iqat aaarch display soda 


HM1 




CALL 


VDCMAR 


jdlapiay aaarch dlaplay aoda 


•III) 


| 








•lilt 




LD 


BC, 7*254 


1 cltcl 


■MCI 




CALL 


POSC'JR 




•Hit 




LD 


HL.OFRSG3 


I "Print Noda: C/H'») 


•••47 




CALL 


VDLINE 




••Ml 




LD 


A, IPBHODE) 


ifat print aoda 


■MM 




CALL 


VDCMAR 


idap print aoda 


■MH 










•••71 




LD 


ac,c2St 


irlicl 


•••72 




CALL 


POSCUR 




•••7 3 




LD 


HL.OPHSG4 


1 'Output PUai r/a/c'4) 


•••74 




CALL 


VDLIHE 




•••7» 




LD 


HL.OPNAHE 


>HL->output tilt II4Ua* 


mi 




CALL 


VDLIHE 


idap output (11a naaa 


•••77 


1 








•■171 




LD 


BC,**2S< 


irKicl 


MtTI 




CALL 


POSCUR 




••••• 




LD 


HL.OPHSCS 


■ ■output flln H/A/C'O 


••••1 




CALL 


VDLINE 




••••] 




LO 


A, (OPCORO) 


Hat output (tla atatua 


••••) 




CALL 


VOCMAK 


idap output (111 atatua 


• •••4 










• •••J 




LD 


ECH-256 


irllicl 


■MM 




CALL 


POSCUR 




••••7 




LD 


HL.OPHSG4 


I 'Output Hodai C/n'o 


••••• 




CALL 


VDLIHE 




Milt 




LD 


A, (OMODE) 


7 gee output aoda 


••••• 




CALL 


VDCHAR 


jdsp output aoda 


••••1 










• Mil 


OPT 11 


CALL 


OPTPCB 


ilnaat (roa laft Baffin 


• •••) 




LD 


• .5 




••••4 




CALL 


OPTPC 


KtlC(OPTCOL>l) 


HUM 




LD 


HL, ANSWER 




••••4 




LD 


1.1 




•••(7 




CALL 


EBLIH) 




••••1 




LD 


A, I 




■MM 




CP 


■ 




• Ilia 




JR 


Z,0PT«1E 


OP OPTtlE if null antry 


• •ill 




LD 


A, (ANSWER) 




• •112 




CP 


H 




Jill) 




JP 


P.OPTH 


floop 1C not no. 


MM 




CP 


II 




•111; 




JP 


H.0PTI1 


(loop 11 not no. 


••1(4 




SU1 


41 


iconvart to binary no. 


••1*7 




LD 


INIHSET) ,A 


■aava in lnaat buffar 


•111! 


OPT! IE 


LD 


■79 


idlaplay lnaat valua 


Hill 




CALL 


OPTPC 


iri:c(OPTCOL»l) 


••11) 




LD 


A, (HIHSET) 




••111 




ADD 


A, 41 


iconvart to ASCII 


••112 




CALL 


VDCHAR 


idap lnaat 


••11] 
•■114 
















IOPTI2 


• •IIS 

• •114 










I aaarch dlaplay aoda (C/R/L) 


• •117 


OPT* 2 


CALL 


OPTPCB 


ir(PENULN) icl 


• •Hi 




LD 


■ L,OPHG2A 


i'(C)ontlnuoua, (R)acordor (L)lna'«3 


■1111 




CALL 


VDLIHE 




••111 




LD 


>>4 




••121 




CALL 


OPTPC 


ir7lC(0PTCOL«l) 


••122 




LB 


HL.ASSWEB 




••121 




LD 


■ .1 




••124 




CALL 


ULIH) 




M12S 




LB 


A.I 




•1121 




CP 


B 




••127 




JR 


I.OPTI2E 


DP OPTI2E 1! null antry 


••121 




LD 


A, (ANSWER) 




••121 




RES 


S.A 


iconvart to uppar mm 


•1131 




CP 


'C 




••131 




JP 


I.0PTI2D 




••1)2 




CP 


•h 1 




(•133 




JP 


I.OPTI2D 




••114 




CP 


'L' 




••US 




JR 


Ml, OPT 12 


lloop until valid Input 


••1)4 


OPT! 2D 


LD 


ISDHODE) .A 


nave new aaarch display Boda 


••137 


0PTI2E 


LD 


iff 


rdap aaarch dlaplay aoda 


••1)1 




CALL 


OPTPC 


ir7iclOPTCOL-.il 


••1)1 




LD 


A, (SDMOOE) 




••141 




CALL 


VDCHAR 




••141 
1(142 
















lOPTM 


••14) 
••144 










1 print aoda (C/N) 


11145 


0fT«3 


CALL 


OPTPCB 


jr(PENULN) icl 


••144 




LO 


ML.OPHG3A 


iMOontlnuoua or (H)anual'*) 


••147 




CALL 


VDLIHE 




••141 




LD 


B.7 




Mill 




CALL 


OPTPC 


irliCIOPTCOL'l) 


••IS* 




LD 


HL, ANSWER 




••1S1 




LO 


B.l 




M1M 




CALL 


EBLIN) 




••IS) 




L3 


til 




M154 




CP 


1 




MISS 




JR 


I.OPTI3E 


UP OPTOE U null antry 


Ml Si 




LD 


A, (ANSWER) 




••157 




Rrs 


5, A 


iconvart to uppar caaa 


M1SI 




CP 


■C 




Ml SI 




JP 


Z.OPTDD 




••141 




CP 


•«• 




Mlil 




JR 


NJ.OPTI) 


lloop until valid ansvar 


••142 


OtT(30 


LD 


(PRNODE) ,A 


latora nav print soda 


•Hi) 


OPT*)E 


LD 


B.7 




••1*4 




CALL 


OPTPC 


lll.c(OPTCOL»l) 


•HIS 




LD 


A, (PRNODE) 




Mlii 




CALL 


VDCHAR 


idlaplay print aoda 


••147 










Mill 








lOPTM 


Mlil 










••171 








lOutput (111 naaa 


Ml 71 


OPT* 4 


CALL 


OPTPCB 


ir(PENULN) icl 


• •172 


OPT* 4 A 


LD 


1,1 




• •17) 




LD 


C,42 




M174 




CALL 


POSCUR 


11*1*41 


••175 




CALL 


EHAItL 


■ araaa to and o( Una 


••171 




LD 


HL.OniAHE 


ilnp atora file naaa In ItTBOB 


•1177 




LB 


DE.IEYBUP 




M17t 


0PTI4I 


CALL 


APPEND 


INOVa OPNAME to XETBUP 


M174 




LD 


HL.CrNANE 




M1M 




LD 


1.24 




Mill 




CALL 


ULIH) 


isat nau (Ua naaa 


••112 




DEC 


HL 




Mil) 




LD 


(HL) .IDA 


jIDIl needed (or fila opan 


■11(4 




LD 


A.I 




M1IS 




CP 


■ 




• 1114 




JP 


t,OPTI4N 


i)P 0PTI4N l( null antry 


•1117 




LD 


DI.OUTDCB 


iDE->output (Ua DCS 


•1114 




CALL 


CLOSE 


icloaa output (Ua 


Mill 




LD 


k,'C 




M1M 




LD 


(OPSTAT) , A 


1 output (Ua atatua • (C)loaad 


••1*1 




LD 


BL.OPHANE 


iHL->output (11 a naaa 


Ml 12 




LD 


DE.OUTDCB 


|DS->0<ltput (lie DCS 


Mil) 


0PTI4L 


CALL 


APPEND 


laova output (Ua naaa to OOTDCB 


• •114 




CALL 


OPBOUT 


lopan output (Ua 


•HIS 




LD 


A, (OPSTAT) 




Mlli 




CP 


•C" 




••117 




JP 


l,OPT*4A 




M1M 




JP 


OPTB4E 




••111 


1 








M2M 


0PTI4K 


LD 


HL.REYBDP 


, default naaa 


•12(1 




LD 


DE, OP NAME 




••212 


0PTI4Q 


CALL 


APPEND 


iaova output (Ua naaa (roa KIYBUP to OPNAME 


•121) 




LO 


tlLI.13 


i avoid ne» Una (aad 


•12*4 




LD 


• >• 




• •2*5 




LD 


C.4] 




M2M 




CALL 


POSCUR 


irlicl) 

Listing 7 continued 




THE MOST POWCRFIM. WORD PROCESSOR AND All PUR- 
POSE COMPUTER PROGRAM AVAILABLE FOR THE TRS-80. 

LOOK AT AU THESE FEATURES 



1 . INSERT characters, worts, lints, paragraphs or other tiles. 

2. DELETE characters, worts, lines, paragraphs. 

3. COLUMNS. CopyArt II can he Instructed to print your test from one to 
sii columns. Sopor easy to use I No complicated commands. Great for 
doing newsletters, magazine layouts etc. NO MORE CUT AND PASTE! 

4. SORTING. Sort lines of text hy any field. Sorts up to 650 items in less 
then 7 seconds. Sort indices, table of contents, names, worts or whatever 
in descending or ascending order. Used with CopyArt's math function it is 
great for small Inventories, Receivables, Payables etc. 

5. Screen widths from 32-255 characters wide. Screen widths can be 
changed to allow formatlino your text as you want. 

6. MATH. Built hi MATH function for doing calculations on columns or 
rows. Used with the SORT command, CopyArt II can do a small inventory 
of 200-300 items, or keep track of small receivables or payables, general 
ledgers or home financial reports. Super floating point precision up to 32 
digits! 

7. *GRAPHICS. CopyArt has a built in graphics program that allows in- 
serting graphics within your text. Drawings, graphs, illustrations, car- 
toons etc. may be used within newsletters or company reports. Graphics 
commands include : Plot between points. Circles, Squares, Fill, Erase, 
Draw, Move, Pixel cursor controls and more. 

I. 'GRAPHIC CHARACTERS. CopyArt has a built in graphics character 
generator. Used for typesetting large letters from 3 to 25 times normal 
size! Yes. you can even print characters down the page as well as across. 
Black on white or white on black. 

9. JUSTIFICATION is fully supported. 'Proportional spaced justify is sup- 
ported. 
10. 'SUPER or SUB-SCRIPT. 

II. UNDERLINING. 

12. B0LDF ACTING 

13. 'CHANGE CHARACTER SIZE or PITCH within your document. Charac- 
ter sire changes for dot matrix printers with capability. Pitch change lor 
daisy wheel printers with capability 

14. HELP. Help is available for all the commands at the touch of a key 
while using the word processor. Super tor training inexperienced sec- 
retaries. Great reminder for experienced people as well. MENU DRIVEN 
Help for over 45 commands. 



Continues on 
the next page 



C00 and Credit Cards 
CAU TOU FREE to order 
1-M0-52S-114J 





SIMUTEK 

*m Computer Products Inc. 

tmmm reeeecTS mc, *m i. skeimt euro., tocsoo. u earn, test, sn-esei 

DEALER . MSTMBUTOn. • PMNTER/MAJUFACTUHEn M0UMIES IHVITE0 
TRS-M •»« Scrlasll arV TM of n»H* Skill • Tarty car*. 

*lB4jlcatii prlnlir mint hivi capability la do function 



iSO Micro, December 1983 • 205 



Listing "/ 

«*2I7 

88286 
8)289 
11211 

• •211 
••212 
••213 
••214 
M21S 
••216 
1)217 

• 1211 

• •219 
M22« 
••221 
••222 
•1223 
••224 

• •225 
••226 
••227 
11228 

• 1229 
••23* 
••231 
••232 

• •233 
••234 
••235 

• •234 

• •237 

• •238 

• •239 

• •24( 
91241 
99242 

• 9243 
99244 
99245 

• 9246 

• 9247 

• 9248 
99249 

• •2S9 
99251 
••252 

• •253 

• •254 

• •255 
•1256 
•1257 

• 9258 

• •259 

• •26* 
••261 
••262 

• •263 
••264 
••265 
••266 
••267 

• •269 
••269 

• •27* 
••271 

• •272 
••273 

• •274 

• •275 

• 1276 
88277 

• 9278 
89279 


continued 

LD 
CALL 
LD 
C» 

JP 

LD 
LD 

CALL 
0PT»4E HOP 


HL.XEYBUP 

VDLINE 

A.(OPSTAT) 

■c 

NI.OPTME 
HL.OFMAHE 
DE.OUTDCB 
APPEND 


(display output file nut 
■ move file spec to OUTDCB 


99288 

• •281 
99282 
99283 
9(284 

• •285 

• ■286 

• 8287 
••288 
••289 

• 9298 
••291 
••292 
••293 
••294 
•■295 
•1296 

• •297 
••298 

• •299 
II3H 
■•391 
••3)2 
••3(3 
••3(4 
•13)5 
••3(6 
•■3(7 
•13(8 
89399 
9)319 
9(311 
99312 

• 9313 
BB314 
99315 
99316 
99317 
88318 
88319 
89329 
99321 
88322 
88323 
99324 
98325 
99326 
99327 
99328 
••329 
99338 
••331 
■•332 
••333 
••334 
••335 
••336 
•1337 
■•33) 
••339 

• •34* 
••341 
■•342 
••343 
•1344 
••345 
••346 

• •347 
••348 
81349 
••35) 
89351 
••352 

• •353 

• •354 




CALL 


VDCHAR [display output file status 


OPT86 

0PT96D 
0PTI6E 

OPT END 


CALL 

LD 

CALL 

LD 

CALL 

LD 

LD 

CALL 

LD 

CP 

a 

LD 

PEC 

CP 

JF 

CP 

JP 

LD 

LD 

CALL 

LD 

CALL 

LD 

CALL 

CALL 

RET 


|0PT)6 


[output mode (C/M) 
OPTPCB I r ( PENULN) : c 1 

HL.OPNG3A | '(C)ontlnuous or (N)anual')3 
VDLINE 

B,H . 
OPTPC irlllC(OPTCOL*l) 
HL, ANSWER 
B,l 

KBLIN3 
A, I 
B 

l,OPT«6E 
A, (ANSWER) 

5, A fconvert to upper case 
•C" 
1,OPT(60 

NI.OPT«6 
(OHODE) ,A 

B,l« idsp output mode 
OPTPC irllic(OPTCOL»l) 
A, (OHODE) 
VDCHAR 

BC. 3*256 ir4tcl 
POSCOR 

ERASES i erase to end of screen 
tend of options 


OPT* 5 CALL 
LD 

CALL 
SB 

CALL 
LD 
LD 
CALL 
LD 
CP 

JP 

LD 

RES 

ld 

CP 

JP 

CP 

JP 

CP 

JP 
JP 
OPT»5C LD 
CP 
JP 
LD 
CALL 
JP 


OPTPCB 

BL,OPNC5A 

VDLINE 

B,9 

OPTPC 

HL, ANSWER 

B.l 

KBLXN3 

A,« 

B 

I,OPT»5B 

A, (ANSWER) 

5, A 

(ANSWER) ,A 

'C 

Z,OPT«5C 

'R' 

Z.OPT15R 

•A' 

Z,OPT«5A 
OPT) 5 
A.(OPSTAT) 

■C" 

Z.OPT85D 
DE.OUTDCB 
CLOSE 
OPT(5D 


|OPT»S 


lOutput flic status (R/A/C) 

■ r(POfULM) icl 

. '(R)eset, (A)ppend ot (C)loss'*3 

■rl(ic(OPTCOL*l) 

ijp OPT95E if null entry 

■ convert to upper case 

j loop until valid entry 

(file already closed 
|DE->output file DBC 
1 close output file 


OPTPCB 


LD 
LD 
JR 


i OPTPCB 


ir23icl Hod II, [15 col Hod III 

B, PENULN inext to bottom line 

C,( icol 1 

0PTPC3 ijp to position section 


OPTPC 
OPTPC 3 


LD 

CALL 

CALL 

RET 


1 OPTPC 


ipositlon cursor to col - OPTCOL 

IB-line number 
C, OPTCOL |B passed as parameter 
POSCUR 
ERASEL lerase to end of line 


OPT8 5R CALL 
LD 
CF 
JP 
LD 
LD 

CALL 
JP 

OPT(5A CALL 
LD 

C? 
JP 

LD 
CALL 


OPNOUT 
A.(OPSTAT) 

■c 

Z.OPT9 5 

DE.OUTDCB 

BC,9 

POSN 

OPT«5D 

OPNOUT 

A, (OPSTAT) 

•C" 

um 

DE.OUTDCB 
POS EOF 


lorctu 


lopen output file and reset 
iflle cursor to start of file 
topen output file 

iloop if error in opening file 
;DB->output file DCS 

ipositlon file cursor to first record 

"J6pt»sa 

lopen output file and set file 
iflle cursor to EOF 
■ open output file 

iloop if error in opening file 
.position to end of file 


OPMSG1 

OPHSG2 

OPNSC3 

0PHSG4 

OPHSC5 

OFHSC6 

0PHC2A 

0PHC3A 

OPHG5A 

NSGPF 

MSCRF 


DBH 

Mil 

DEF". 
DEFB 

Dan 

DEF3 

om 

DEfB 
■ • f" 
DEFB 
DEF" 
DEF5 
D0H 
DEFB 
DFF" 
DEFB 

m 

DEFB 

DEF", 
DEFB 
DEF". 
DEPB 


lOPT MESSAGES 


■Inset from Left Margin • 

■ 3 

■Search Display Node: C/R/L 

"Print Node: C/H 

•3 

'Output File last! ■ 

13 

■Output File: R/A/C 

•3 

■Output Node: C/N ■ 

■3 

•(C)ontinuous. (R)ecord or (Mine- 

■(Oontinuous or (H)anual' 

■3 

'(R)eset, (A)ppend or (C)lose' 

•3 

'Paragraph Format' 

•3 

'Record Format' 

■ 3 


OPT»5D LD 
LD 

OPT»5E LD 

CALL 
LD 


A, (ANSWER) 

(OPCOND) ,A 

B,9 

OPTPC 

A, (OPCOND) 


IOPT95D 


lend of OPT95 section 
■ rHic(OPTCOL»l) 




END 







Program Listing 8. Assembly-language listing ofM3/SRC. 


89865 


EXTERN 


PENULN 


■next to last line on screen (23 or 15) 








■ ••66 








■ •••1 

89882 


IH3/SRC VERSION 1.2 




•••67 ■ 










•••6 9 






icalls to GR (general routines) 


• •••1 
■ •••4 






•9878 

•••71 


EXTERN 


BXDEC 




■MINDEX INDEXING PROGRAM 




Ibinary to decimal conversion 


■•(•5 








EXTERN 


DECXB 


■decimal to binary conversion 


• •••6 


■COPYRIGHT 1983, SOFTSBELL 




•••73 


EXTERN 


DLINE 




••••7 
99998 
• •••9 
(••1» 








EXTERN 
EXTERN 


DSPNBR 
DSPNBRL 


■display 5-digit decimal no. (right Justified) 
■display 5-dlgit decimal no. (left justified) 
i remove leading blanks 
■move cad line file psec to XEYBUP 


N INDEX PSECT 


.begin relocatable program section 


•••75 






•••77 


EXTERN 


FSPEC 


•••11 
•••12 






•••79 


EXTERN 
EXTERN 


GETMPN 
LINE 


■get HAP file names 

■display line (from char in A reg) 


PUBLIC ANSWER 




•••13 


PUBLIC BEGIN 


:start ot MINDEX program 






PACK PS 


■pack (coapress) file spec in fixed table 


•••14 


PUBLIC OCDLFS 


:cmd line file spec 4T/N) 








■parse one file spec 


■■•15 




l Indicates whether file spec also entered 






REC( 


liero-out 256-byte record 


•••16 




lalong tilth MINDEX cad 




EXTERN 


RECBL 


■blank-out 256-byte record 


•••17 
• ••IB 
■••19 
•••2* 
•••21 


PUBLIC F.EYBUF 


iKeybuf used to enter MINDEX file spec 




EXTERN 


TAP EST 


■'Tap enter to continue* 




icalls to MODII or MODIII 


• ••86 
•••87 
••■•8 






iGR buffers 


EXTERN BOTTC4I 


ipositlon cursor to last line of screen 


EXTERN 


SNAH.SEXT.SPSW 


SDDR isource file table 




EXTERN CLOSE 


iclose file (DE->DCB) 




EXTERN 


INAM,IEXT,IPSW 


IDDR ■ index file table 


• ••24 
•••25 
•••26 


EXTERN CURPOS 
EXTERN DISBRK 
EXTERN DIVIDE 
EXTERN DOSCND 


.•determine cursor pos (cooriBC) 
l disable break (for Model II) 
idlvlde A into HL 
UP to TRSDOS and eiecute command 


















•••93 








• ••27 


EXTERN ERASEL 


terase to end of line 


• ••94 






■syntax for loading program: 




EXTERN ERASES 


lerase to end of screen 








■MINDEX source file, index flleioptlons 


• ••29 


EXTERN ERRDSP 


IMAF error display routine 


99*96 






.options. 




EXTERN ERROR 


i TRSDOS error meg routine 










89931 


EXTERN HOME 


ipositlon cursor to top line of screen 
.Initialize file (create/open, pos to 1st rec) 
1 (DE->DCB, HL->rec but) 
l]p to TRSDOS 


99(98 








99932 


EXTERN INIT 


99)99 






1 R and M are default values 


98934 


EXTERN JP2DOS 


9(1(1 BEGIN PUSH 


HL 






EXTERN XBCHAR 


iget char (or null) from Keyboard 


((1(2 












■display line pointed to by HL 


((1(3 










EXTERN F.BWAIT 


■ wait for char from keyboard 


9)1)4 










EXTERN OPEN 


lopen file (DE->DCB, HL->record buffer) 


((1(5 


CALL 






99939 


EXTERN POSCUR 


ipositlon cursor (coordinates in BC) 


((1(6 


CALL 








EXTERN READDR 


■read file: direct access 


((1(7 








• ••41 


EXTERN READNX 


■read next record in file 


((1(8 


CALL 






• ••42 


EXTERN VDCHAR 


■display char in A register 


99199 


LD 


BCCPVPOS 










••119 












.Initialize video I/O (for Model II) 


Mill 










EXTERN VDLINE 


■ display line <HL->msg) 


••112 


CALL 










.write neat record to file 


•9113 


LD 


»»'-' 


■select '-' char for LINE routine 










CALL 


LINE 


Idrav dashed line under title 


• 9948 




■MOOII/III buffers and I/O parameters 




••116 
••117 
••118 FN 






iFNIl 






■Input (source) file DCB 
■Input file DCB Record Length 






•••51 


EXTERN IDCBRL 










EXTERN IDCBCR 


1 Input file DCB Current Record 


•111) 












■input file DCB Last Record 


••12( 










EXTERN INLLR 


■true last record of source file 


••121 










EXTERN IDCBOS 


■ Input file DCB mxizi 


M122 












■MAP (tndei) file DCB 


HI 23 












■Map file DCB Record Length 


••124 














■•125 














• •126 












■true last record of index file 








■point to next to last line 




EXTERN MDCBOS 


■Hap file DCB ixxxxxxx 


(9128 










■I/O parameters: 


9(129 


CALL 
























■copyright notice position (52 or 36) 


1(131 






l 'Enter name of File to be Indexed or 

Listing 8 continued 



206 • 80 Micro, December 1983 



Radio Shack TRS-80™ 
Computers 

At Guaranteed Savings 




from 

Pan 

American 

Electronics 



1117 Conway Ave. 

Dept. EM 

Mission, Texas 78572 

Ph. 512/581-2766 



Telex 767339 

TO ORDER 
CALL TOLL FREE 

800-531-7466 



"AUTHOR 
. AUTHOR'" 

The call for authors is out! 

Wayne Green Books announces a De- 
cember 31, 1983 deadline for submit- 
ting manuscript proposals for the up- 
coming publication list. Ideas for book- 
length manuscripts about any micro- 
computer system or area of electronics 
will be considered. In addition to pay- 
ment and royalties, we offer our distri- 
bution channels and the marketing 
support your book deserves. 

Send proposals or requests for a copy 
of our Writer's Guide to: 

Editor, Wayne Green Books 

Peterborough, NH 03458. 

Or call toll-free 1-800-343-0788. 




MORE REASONS YOU SHOULD CONSIDER 
MOVING UP TO OUR COMPREHENSIVE PROGRAM . . 

15 SUPER EASY TO LEARN editing features. Logical key choices. 

16. Hyphenation 

17 SPELLING checkers like the 74.000 word Scripsit Dictionary work 

great with CopyArtll. 

18. CHAINING. Chain files together to make books or manuals hundreds 

of pages long. 

19 CENTERING. 

20. HEADERS and FOOTERS. You can even put graphics within headers 
for super page layouts. 

21. PAGE NUMBERING. Page numbers can appear at the top or bottom 
of the page. 

22. DOS COMMANDS from within the editor. Kill files, check free space 
or get directories easily. 

23. CUSTOMIZED PRINTER driver. Since your printer has features that 
other printers don't. CopyArt II will be supplied with the printer driver of 
your choice below. Each printer driver is custom made to provide you 
with commands for each of your printer's fine capabilities. If you have 
more than one printer, order other printer drivers for only $19.95 each. 
Printer drivers are available for: 



Smith Corona Daisy Wheel TP-1 
Brother Daisy Wheel 
C-itoh Starwriters and 
Prowritersall8510A,1550 
PMC Printer 
Centronics 737. 739 
Diablo 620 



•RarJo Shack LP IV, V, VL 
VII. VIII and Daisy Wheel II 

• Epson MX-80. MX-80/FT, MX-100 
with or without graftrax. 

• Okidata Microline 80, 82a. 
83a and 84 

• NEC 8023 

OTHERS COMING SOON. Call if you don't see your printer! 
24. Unprotected diskette. Unlimited backups can be made. 
25 MAILIST/MAILMERGE INCLUDED CopyArt II comes with a mailist 
program that stores over 2.000 names on a MOD III diskette. These 
names can be sorted by any field and have a special field for your code. 
You can make PERSONALIZED FORM LETTERS that will take the follow- 
ing codes from the mailist and insert them in your text. FIELOS IN- 
CLUDE: Mr. or Ms.. Last name. First name, Business name. City. State, 
up to 9 digit ZIP code and your own special 2 character code. ANY OF 
THESE fields can be inserted within your form letter wherever you want. 
You can print form letters or mailing labels to all the people on your list 
or to specific codes only. CopyArt makes it easy. 



^opydrfE 



Continues on 
the next page . 




COD and Credit Cards 
CALL TOLL FREE to order: 
1-800-528-1149 




Computer Products Inc. 



SMMITM COMPUTER PROMTS INC. 4tl7 1. IPIIIUI ILVD . TUCJOR. U M71Z. |M2| MS-tltl 

DEALER. DISTRIBUTOR. S PRINTER/MANUFACTURER INQUIRIES INVITED 
TRS-M and Scnpsit art TM ol Radio Shick « Tandy corp 

•InOic jles printer mill kavi capability to to function 

Continued on pag> 211 



* S— Utt ol Mmtlstt on Pagt 291 



80 Micro, December 1983 • 207 



Listing 8 continued 






















• •282 


PREIN8 LD 


A. 9 




• •132 






I? foe help' 


00283 


LD 


(IDCBRL) ,A 


[set record len - 256 


90133 


CALL 


VDLINE 


[display message 


00284 


:.D 


BC, 7*256*37 


,-r8-.c39 


• •134 








00285 


CALL 


POSCUR 




II135 


LD 


A, (CMDLPS) 


■•CMDLFS Indicates whether file spec 


00286 


LD 


HL.OOKNSG 


l 'Opened' mag 


• •136 

• B137 
00138 






/was entered after MINDEX on TRSDOS cmd line 
iwas file spec entered on TRSDOS end line? 
lip If file name not entered 


80287 
99288 
99289 


CALL 


VDLINE 




CP 
JR 


NZ,PN(2 


. 




,- PREMAP 


• •139 


j 






99299 










imm 






;file spec entered on cmd line so dsp 


10291 






[prepare HAP index file 


• •141 


LD 


BC,3*256»11 




00292 


PREHAP LD 


HL,KAPBUF 


lRL->index file buffer 


• •142 


CALL 


POSCUR 


ir4:cl2 


99293 


LO 


DE.HAPDCB 


lDE->lndex file DCB 


• •143 


LD 


«,'■' 


.■reset CMDLFS 


99294 


Li) 


B,( 


(record length - 256 


• •144 


LO 


( CMDLFS) ,A 




• •295 


.all 


INIT 


(intialixe (create or open) file 


• •145 


IX) 


BL.KEYBUF 


.•point to cad line file spec 


• •296 


JP 


I, CMSGOP 


,-]P to CMSGOP if index file lr.lt OK 


• •146 


CALL 


VDLINE 


(display file spec 


• •297 


PLSH 


AP 


[save error code 


••147 


LD 


A,(DH 




••298 


LD 


BC, 12*256 


;U3:cl 


MM 


CP 


A 


ll (set) 


••299 


CALL 


POSCUR 




••149 


LO 


B,l 


I (so len > () 


••3*1 


LD 


HL.HSGMER 


1 'Error in opening index file' 


MIS* 


JP. 


PR(4 




••3*1 


CALL 


VDLINE 


[dsp error msg 


1(151 
••152 








••3*2 
• •3(3 


LD 

CALL 


BC, 13*256 
POSCUR 


;[14:cl 


FNI2 LO 


BC, 3*256*11 


[get file spec 


•1153 


CALL 


POSCUR 


ir4:cl2 


• •304 


POP 


AF 


(restore error code 


••154 


CALL 


ERASEL 


lerase to end of line 


00395 


CALL 


ERRDSP 


,-dsp TRSDOS error msg 


••155 


LD 


HL.KEYBUP 


/point to KEYBUF to hold tile spec 


99396 


LD 


BC, 14*256 


irl5:cl 


• •156 


LD 


B,51 


max file spec • 51 characters 


00307 


CALL 


POSCUR 




• •157 


CALL 


KBL1NE 


(enter file spec 


00398 


CALL 


TAPENT 


[Tap enter key to continue 


••158 
00159 








99399 
99310 


JP 

CMSGOP LD 


FN(1 

BC, 8*256*37 


[loop back and get file spec 
(index file open OK 


PN04 PUSH 


AF 


;now process file spec 


••161 


PUSH 


BL 




90311 


CALL 


POSCUR 


[r9:C38 


• •161 


LD 


BC, 5*256 




98312 


LD 


HL.OOKNSG 


1 'Opened ' msg 


••162 

88163 
• •164 


CALL 
CALL 
POP 


POSCUR 
ERASES 
HL 


, r6icl 

(erase to end of screen 


08313 
88314 
99315 


CALL 


VDLINE 








.-add header to MAP index file 


••165 


N ? 


AP 




99316 






.-header format: 


••166 








• 8317 






[ bytes (-19: MINDEX1.2.. 


• •167 


CP 


BRXKEY 


(was <break> entered? 


•OK 






[ bytes 48-41: file spec. 


••168 


JF 


Z.HHENDl 


(if so jp to mini-menu 1 


■•319 










81169 


LD 


A,(REYBUF) 


iget first char entered 


((32( 


LD 


A.0DH 




••17) 


CP 


(DH 


[was first char (DH (i.e. null entry)? 


((321 


LD 


ISDDR) ,A 


.-set source file drive no. to (DH (null) 


••171 


J» 


..•'..'. 


(loop if null entry 


((322 






(Since header never specifies disk drive 


••172 


I_~ 


HL.KEYBUP 


(point to file spec buffer 


((323 






.-of source file 


••173 


CALL 


BATBKI 


(bypass leading blanks 


((324 


LD 


HL.SNAM 


[HL->source file spec table 


••174 


LD 


A,(HL) 


(load A with first non-blank char 


((325 


LD 


DE.HFN 


[DE->header file name buffer 


••175 


CP 


■7' 


.-was ■?■ entered? 


09326 


CALL 


PACK PS 


[pack header with source file spec 


• •176 


,:p 


Z.HHELP 


(if so ]p to help screen 


99327 






(space compress file spec In process 


••177 


i 






(9328 








8)178 


LD 


HL.KEYBUP 


(point to file spec buffer 


((329 


LD 


HL,MAPBUF 


,-HL->index file buffer 


••179 


CALL 


GETHFN 


(get file names 


08339 


CALL 


REC9 


,-xero out Index file buffer 


88188 


JR 


Z,PNOK 


[jp to FNOK If file spec syntax OK 


98331 


LO 


HL.HSEC 


[header sector 


88181 


LD 


BC, 8*256 


[file spec syntax incorrect 


09332 


LD 


DE.MAPBUP 




89182 


CALL 


POSCUR 


,-r9:c( 


99333 


LD 


BC.SB 




• •183 


LD 


HL.FNEMSC 


[point to file name error msg 


99334 


LDIR 




.•move header to MAPBUF 


•8184 


CALL 


VDLINE 


[display file name error msg 


09335 


LD 


DE.MAPDCB 




• ■185 


CALL 


IAPENT 


['Tap enter key to continue' 


((336 


CALL 


WRITNX 


[write index header sector (sector () 


• •186 

• 0167 


JP 


FN(2 


[loop back and get file spec again 


((337 
0(338 


JP 

LD 


NZ , ERROR 
HL,MAPBUF 


,-jp to erro routine if error 

[BL->index buffer 

[initialise Index buffer to ('■ 


• •188 

• 1169 
81198 


PNOK NOP 
CALL 
JP 


CIOPT 
NZ, OPTERR 


[file names ok 

icall command Interpreter options routine 

(3P to options error routine if error 


((339 

((34( 


CALL 


P.EC1 


((341 


LD 


BC. 256*18 


:rll:cl 


• •191 








((342 


CALL 


POSCUR 


• 


• •192 


LD 


BL.SMAM 


[HL->source file name 


((343 


LD 


HL.IDXSEC 


['Indexing Sector:' 


••193 
••194 
••195 


LD 
CALL 


DE.IHDCB 
PACXPS 


[DE->source file DCB 

[space compress source file spec 

[and move to source file DCB 


((344 

((345 
((346 


CALL 


VDLINE 


[dsp msg 






[files open and ready to 


••196 
• •197 
•1198 


LD 


BL.INAM 
DE,MAPDCB 


[RL-> index file table 
[DE-> index file DCB 


((347 
((348 






[Start indexing process 


((349 






[main loop, repeat until file Indexed 


89199 


CALL 


PACKPS 


ispace compress Index file spec 


9(350 


LOOP CALL 


HEAD IN 


[get next sector from source file 


88289 






[and move to Index file DCB 


00351 


LD 


A.(RDERR) 


(RDERR - error code during read 


88281 








00352 


CP 


28 


lend of file? 


89292 


LD 


BC, 7*256 




88353 


JP 


Z, END IN 


; IP to EDNIN if end of source file 


88283 


CALL 


POSCUR 


rcSiei 


89354 






[this Is the only EXIT from this loop 


99284 


LD 


HL.MSG19 


ipt to msg 'source file name:' 


99355 


LO 


C,255 


[10 buffer length 


88285 


CALL 


VDLINE 


idsp msg 


99356 


LO 


A.(SCROSS) 


[no. of bytes In current record 


••296 


LD 


HL.INDCB 


iHL->source file DCB 


90357 






[carried over from previous sector 


88287 


CALL 


VDLINE 


[display source file spec 


09358 






;if scross-0 then record did not span sector 


• •298 








((359 






[SCROSS never > 255 


••2(9 


LD 


BC, 8*256 


ir9:cl 


((368 


LD 


B,A 


[B now has number of bytes in record 


••211 


CALL 


POSCUR 




((361 






[from previous sector 


••211 


LD 


HL.HSGM 


{'map index file name:' 


((362 


CALL 


HASHWD 


[bash all the words in current sector 


• •212 


CALL 


VDLINE 


[dsp above msg 


((363 






[On return from HASHWD IX->byte after 


•1213 


LB 


HL.KAPDCB 


[HL->index file DBC 


((364 






[source file record buffer 


•1214 


CALL 


VDLINE 


[display index file spec 


((365 


MC 


IX 


[IX now -> last byte in sre file rec buf 


••215 
M216 

■1217 


JP 


OPFILE 


,• jp to section to open files 


((366 
((367 
((36 6 


LD 

POINTl CP 


A,(IX*() 
(DH 


[get last char In SFRB 

;■-' t 

(if file Indexed in paragraph format. 


OPTERR LD 


HL.OPEMSG 


[BL->options error message 


••218 


CALL 


VDLINE 


,-dsp options error msg 


((369 






[the above (DH is converted to '.' 


• •219 


CALL 


TAPEWT 


[Tap enter key to continue 


9(379 


JP 


Z, NCROSS 


[jp if record does not span sector 


••22( 

• •221 
■•222 
89223 


n 


FN»1 


[loop back and get file spec 


00371 
0(372 
• •373 


CP 


(DH 


[EOR ? 






lOPFILE 


JP 
LD 


Z , NCROSS 
A,B 


[jp if record does not span sector 








99374 


LD 


(SCROSS) ,A 


istore In SCROSS no. of bytes In record 


98224 


OPP1LE NOP 




/open files 


00375 






[before sector boundary crossed 


00225 


LD 


BC, 11*256 


irl2.cl 


80376 


JP 


LOOP 


(loop until end of source file 


09226 


CALL 


POSCUR 




00377 


NCROSS LD 


A, 8 




09227 


CKFNAM LD 


HL.INDCB 


[HL->source file DCB 


00376 




(SCROSS) ,A 


(SCROSS-0 means record does not 


• 1228 


LD 


DE.HAPDCB 


lDE->lndex file DCB 


00379 






[span sector boundary 

[•DH at end of source file rec buf 


• •229 


CFNLP LD 


A,(DE) 


[check If file spec's different 


00380 






• •23B 


CP 


(BL) 




00381 


CALL 


NEWSEC 


[Increment BICT 


••231 


JP 


NJ.DIFFIL 


[not equal so dif names 


00382 


JP 


LOOP 


[loop until end of source file 


•■232 
•1233 
• •234 


CP 
JR 

KK 


• DH 

Z.SAHPIL 

HL 


[(DH •> same file names 


••383 
••384 

■•385 








' 










[HASHWD 


••235 


: K 


DE 




• •386 

• •387 








■•236 


JR 


CPNLP 








(hash word subroutine 


••237 


SAHPIL LD 


HL.HSGSFN 


[same file names error msg 


•(388 






[hashes all valid triplets in record 


••238 


CALL 


VDLINE 


(dsp error msg 


((389 






[hash algorithm for three chars cl,c2,c3 

[h(cl,c2,c31- 

[ U9(acl.l0ac2.ac3> mod 251 

[wherei cl,c2,c3 represent the 1st, 2nd and 


• •239 


CALL 


TAPEWT 


[Tap enter to continue 


((39( 






••241 

••241 


JP 


ran 


[loop back and get file spec again 


((391 
((392 












00242 
••243 






(DIPPIL 


• •393 






j 3rd char of the triplet 






1 -—"—""" — 


■ 0394 






l a is the ASCII value of the char c 


00244 






[different file spec for source and index 


08395 






I and upper caae is converted to I.e. 
[three 2-byte buffers are uaedi 
|FBYTE-10(acl 


••245 






[now print msg regarding indexing format 


88396 






982*6 


DIPPIL LD 


A , ( PORMAT) 


[paragraph or record format 


00397 






09247 


CP 


■ pi 


[paragraph format? 


00398 






[HBYTE-10ac2 


98248 


CALL 


Z, PERIOD 


[paragraph format so set proagram for '.' 


00399 






[ LBYTE-acl 


88249 


LD 


BC, 9*256 


irldcl 


00409 








99259 
• •251 


CALL 
LD 


POSCUR 

A, (FORMAT] 




00401 
00402 






[during hash loop reg B is used to store 
(no. of bytea in current logical record 


••252 


CP 


,p, 


[paragraph format? 


00403 






[value in B is transferred to SCROSS 


••253 


JP 


i.riKii 


[if para format jp to appropriate dsp 


00404 






[only when a record spans a sector 
[and a new sector must be read from the 


• •254 


LD 


KL.RECHSC 


[pt to record format message 


00405 






••255 


CALL 


VDLINE 


[display record format msg 


••4(6 






[source file 


• •256 


JP 


FTDSP6 


[bypass paragraph format msg 


((4(7 








••257 
•1258 

• •259 

• )26( 

••261 


FTDSP4 LD 

CALL 
PTDSP6 HOP 


HL.PARHSG 

VDLINE 


,-pt to paragraph format msg 
(display paragraph format msg 


((4(8 
((4(9 
M4K 


, 




[during hash loop reg C la used to store 
[no. of bytes remaining If stcb 


PREIN BOP 




(prepare input (source) tile 


((411 
((412 


HASHWD LD 
BUFLP LD 


IX.IKSUF 
BL, (MBYTE) 


[IX->source file record buffer (sfrb) 
imove MBYTE to BL 


••262 


LD 


A.9DH 




((413 


CALL 


HUHL1I 


[multiply MBYTE by 1( 
(move HL to FBYTE 


••26 3 


CALL 


VDCBAR 


[Skip to next line 


((414 


LD 


(FBYTE) ,HL 


••264 


LO 


HL.INBUP 


[BL->lnput buffer 


((415 








• 0265 


LD 


DE.INDCB 


[DB->source file DCB 


((416 


LD 


HL.ILBYTE) 


[move LBYTE to HL 


00266 


LD 


B.I 


irecrod length - 256 


((417 


CALL 


MUHLK 


[multiply HL by 1( 


••267 


CALL 


OPEN 


[open source file 


(B418 


LD 


(MBYTE) ,HL 


imove HL to MBYTE 


0(268 


JP 


Z.PREIN8 


ijp to PREIN8 if open OK 


••419 


} 






00269 


PUSH 


AF 


[save error code 


00428 


LD 


A, (IX+9) 


iget c3 from sfrb 
l '. ' ? 


00270 

00271 


LD 

CALL 


BC, 12*256 
POSCUR 


[rl3icl 


00421 
00422 






POINT2 CP 


(DH 


00272 


LD 


HL.HSGSER 


[Source file open error msg 


00423 






[if file is Indexed In paragraph format, 
[the above (DH Is converted to '.' 


0»273 


CALL 


VDLINE 


[dsp source file open error msg 


00424 






••274 


LD 


BC, 13*256 


irl4:cl 


• •425 


JP 


2, ZERO 


[if char - EOR, then A - ( 


••275 


CALL 


POSCUR 




••426 


CP 


91 




•1276 


POP 


AF 


[restore error code 


• •427 


JP 


P.LCASE 


[jp if lower case - no conversion needed 


((277 


CALL 


ERRDSP 


[display TRSDOS error msg 


• •428 


CP 


(5 




((278 
(•279 


LD 
CALL 


BC, 14*256 
POSCUR 


[rt5icl 


••429 

••43a 


JP 
CO 


P.UPCASE 
33 


ijp to UPCASE to convert u.e. to I.e. 


((28( 


CALL 


TAPENT 


[Tap enter to continue 


••431 


:? 


M.ZERO 


ijp if value <33 (i.e. control or ' ') 
[Char with ASCII value from 33 to 64 


((281 


JP 


FN(1 


[loop and get file spec again 


••432 


JP. 


LCASE 
















Listing 8 continued 



208 • 80 Micro, December 1983 



PERRY COMPUTERS 



CALL TOLL FREE 1-800-248-3823 




TRS-80 COMPUTERS 

100% PURE RADIO SHACK 



COLOR COMPUTERS 

26-3003 64K Color Computer 

26-3026 1 6K Color II Non Extended Basic 

26-3027 1 6K Color II Extended Basic 

26-3022 O Dnve Color Computer 

26-3023 1,2,3 Color Drives 

26-3029 O Dnve Color Computer II 

26-3025 Color Mouse 

26-3030 OS-9 With Editor Assembler 

26-3008 Joysticks (Pair) 



LIST 
PRICE 

$ 399.00 
$ 219.95 
319.95 
399.95 
279.95 
399.95 
49.95 
69.95 
24.95 



OUR 
PRICE 
$ 295.00 
$ 149.00 
$ 210.00 
$ 310.00 
$ 230.00 
$ 310.00 
$ 42.50 
$ 59.50 
$ 21.00 




MODEL 100 COMPUTERS 



26-3801 8K Model 1 00 Computer 
26-3802 24K Model 1 00 Computer 
26-3804 AC Adaptor 
26-3805 Accoustic Coupler 
26-381 6 8K Memory Expansion 
26-1 409 Printer Cable 
26-1 410 Modem Cable 
26-3809 Briefcase 
26- 11 83 Bar Code Reader 



LIST 
PRICE 

$ 799.00 
$ 999.00 
$ 595 
$ 39.95 
$ 119.95 
$ 14.95 
$ 19.95 
$ 49,95 
$ 99.95 



OUR 
PRICE 

$ 650.00 
$ 790.00 
$ 5.00 

$ 34.00 
$ 95.00 
$ 12.70 
$ 17.00 
$ 42.50 
$ 85.00 




MODEL 4 COMPUTERS 



26-1 067 Model 4 1 6K Computer 
26-1 068 Model 4 64K 1 Drive Computer 
26- 1 069 Model 4 64K 2 Drive Computer 
26-1 1 22 64K Memory Expansion 
26-1 1 27 Drive Model 4 Computer 
26- 1 1 63 1 Drive Model 4 Computer 
26-1 1 30 5 Meg Hard Drive Primary 
26- 1 1 31 5 Meg Hard Drive Secondary 
26- 1 1 23 Model 3 to Model 4 Upgrade 



P 
UST 
PRICE 
$ 999.00 
$1699.00 
$1999.00 
$ 149.00 
$ 649.00 
$ 239.00 
$1999.00 
$1799.00 
$ 799.00 



OUR 
PRICE 

$ 685.00 
$1400.00 
$1585.00 
$ 125.00 
$ 550.00 
$ 205.00 
$1680.00 
$1549.00 
$ 675.00 




MODEL 1 2 & 1 6 COMPUTERS ust 

PRICE 

26-4004 Model 1280K1 Drive Computer $31 99.00 

26-4005 Model 1 2 80K 2 Drive Computer $3999.00 

26-6004 Model 1 6B 256K 1 Drive Computer $4999.00 

26-6005 Model 1 6B 256K 2 Drive Computer $5798.00 

26-6006 Model 1 6B 256K 1 5Meg HD Computer $6999.00 

26-6010 Model 12 To Model 16 Upgrade $1499.00 

26-41 52 12 Meg Hard Drive Primary $2995.00 

26-41 53 12 Meg Hard Drive Secondary $1995.00 



OUR 
PRICE 

$2575.00 
$3150.00 
$4000.00 
$4510.00 
$5950.00 
$1275.00 
$2550.00 
$1990.00 





RADIO SHACK PRINTERS 

26- 1 250 DWP 4 1 Daisy Wheel Printer 
26-1 252 DMP 500 Dot Matrix Pnnter 
26- 1 253 DMP 1 00 Dot Matrix Printer 
26-1 254 DMP 200 Dot Matrix Printer 
26- 1 255 DMP 1 20 Dot Matrix Printer 
26- 1 256 DMP 21 00 Dot Matrix Printer 
26- 1 257 DWP 21 Daisy Wheel Printer 
26-1 1 58 DW II Daisy Wheel Printer 
26-1 267 DMP 420 Dot Matrix Printer 



UST 


OUR 


PRICE 


PRICE 


$1295.00 


$1100.00 


$1295.00 


$1100.00 


$ 399.00 


$ 300.00 


$ 699.00 


$ 575.00 


$ 499.00 


$ 400.00 


$1995.00 


$1600.00 


$ 799.00 


$ 660.00 


$1995.00 


$1600.00 


$ 999.00 


$ 850.00 



PRINTERS, SOFTWARE & ACCESSORIES 

Epson Printers $ CALL 

Okidata Printers $ CALL 

Gemini 1 0X Printer $ 300.00 

Gemini 15 Printer $ 465.00 

C.ltoh 8510 Printer $400.00 

C.ltoh 1550 Printer $ 670.00 

C.ltonF1040cps $1300.00 

C.ltoh F1055cps $1600.00 

Hayes Modems $ CALL 

All Radio Shack Software 15% OFF 



We have been in the Computer Business for over 5 years. 
Our Goal is to satisfy you the customer. Please write or call 
(517) 625-41 61 for free price list. 



Complete line of computer accessories. 
Please call for current prices. 



FOR ORDERS 
CALL 1-800-248-3823 



Dept No A-1 n/ NORTH MAIN ST PERRY. Ml 4887? 



FOR INFORMATION 
CALL(517)625-4161 



Is your filing system a 

BLACK HOLE? 

Do you file documents, never to see them again? Do you 
spend hours trying to locate the right reference, report, or 
client record? If you do, MAP is the solution to your 
problems. 

The MAP product line includes programs 
that: 

Build and edit text files 

Quickly search free-text files 

Query structured data files 

Create flexible databases 

Sample Applications 

• Office filing systems • Mailing lists 

• Indexing references • Journal abstracts 

• Litigation support • Inventory control 

• Client or patient records • Catalogs 

• Cross-referencing of research notes 

Prices range from $35.00 to $1 95.00. 

Programs for TRSDOS and CP/M operating systems. 

Send for a brochure on MAFs free-text information 
retrieval programs and new database management 
system. 

We will include a brief explanation of our unique signature 
screening technique. 

SOFTSHELL Corporation 

The Small Computer Specialists for Professionals 
P.O. Box 18522, Baltimore, MD 21237 



FLURP- 



Mainframe Accuracy with a Micro 

If you need a multilinear regresssion package with the accuracy of a 
number-cruncher, you need FLURP (Flynn Laboratory's Ultimate 
Regression Package). FLURP has easy data input, disk file archiving, 
and outputs a complete set of statistics. These include;rnulitcollinear- 
ity diagnostics, hypothesis testing, an analysis and plot of the 
residuals, and more FLURP is available for 8" CP/M (requires 
MBASIC), TRS-80 I and III. and soon for the IBM PC. 

□ My $99.95 is enclosed rush me FLURP (add $5.00 for foreign 
shipping) 

□ Enclosed is $29.95 for the manual (credit to the purchase of 
FLURP) 

□ Bill company (include purchase order) 

□ Charge my Q Visa Q MasterCard 



Card Number 

Name 

Address 

City 



Expires 



State 



Zip 



Signature (credit card orders) 

Mail to: LEDS Publishing Co., Inc., PO Box 12847, Research Triangle 
Park, NC 27709 (919) 477-3690. 

• 155 

Trademarks IBM-IBM Corp . FLURP-LEDS Publishing Co . CP/M-Digital Research 
TRSjeO-Tandy. MBASlC-Microsott 



Listing 8 continued 






MHM 








ido not convert to I.e. 


• •414 


UPCASE 


OR 


3a 


■convert u.c. to I.e. 


• 14)3 




JH 


LCASE 




••436 


IER0 


LD 


A,0 


io3 not • valid triplet ehar 


••4)7 


LCA8E 


u 


L,A 




•1438 

••439 




u> 


■ >• 


iload RL witr. value of character 


■•44* 








.■tart aector croaa routine 


••441 




LD 


A, (SCROSS) 




••442 




CP 





l check SCROSS 


••443 




JP 


«. BOP LP 3 


lip BDPLP3 If SCROSS-0 


H444 
••445 








■ get c3 froa afrb again 




LD 


A,(II*() 


■•446 


POIHT3 


c? 


•DH 


1 '.' 7 


■•447 








ilf file Indexed In paraqraph foraat, 


•(448 








iconvert above 0DR to ' . • 


• •449 




JP 


I.B0PLP2 




Mill 




CP 


(DR 


lEOR 7 


• •451 
••452 




JP 


N1,BUPLPS 










lEOR while SCROSS - 1 


••453 


BUFLP2 


CALL 


NEWSEC 


jahlft aector ct 


••454 




LO 


Aft 




••455 




LD 


(SCROSS) ,A 


ireaet SCROSS - 


■HI 




LD 


B,( 




•1457 




JP 


BOPLPS 




■MM 
••459 








■ get c3 from afrb again 


BUPLP3 


LD 


A, (IX.«) 


win 


POIRT4 


CP 


•DR 


i'.' 1 


••461 








lif file indexed in paragraph format. 


••462 








l convert above 0DH to '.' 


• •463 




JP 


I.B0FL3B 




••464 




CP 


• DH 


(EOR 7 


■ •465 




JP 


N2.BOFLP4 




••466 








lEOR while SCROSS • ( 


••467 


BUPL3B 


LD 


B,( 




•1461 




JP 


B0PLP7 




• •469 


B0FLP4 


LI 


A, 234 




••471 




CP 


■ 


1 check rec len 


• ■471 




J? 


■I , BOPLP7 


|JP BOPLP7 if <2S5 


••472 




LD 


B,« 


net record lea • • 


•1473 




JP 


BUPLP8 


.•SCROSS- 8 so no need to 


••474 








icall NEWSEC routine 


••475 
••476 










BUFLP5 


LD 


A, 254 


• •477 




CP 


B 


i check for rec >255 bytea 


• •478 




JP 


NZ , BUPLP7 




• •479 








iREC >255 bytes 


M48J 




CALL 


NEWSEC 


■ buap aector ct 


••481 




LD 


B,0 


■reset rec len - 


••412 




LD 


A.B 




•MO 




LD 


(SCROSS) ,A 


■reset SCROSS - 


•1414 




JP 


BOPLPS 




••4(5 


B0ru>7 


ISC 


s 


■increment record lea 


■MM 


BUPLP8 


INC 


11 


I IE now -> nest byte 
11/17/82 insert C 


••4(7 








(MM 




LD 


(LBYTE),BL 




••4)9 
••491 




CALL 


CHECKS 


■check triplet for • val 
■on retrun A-« if any 


••491 








■char in triplet haa value 


••492 




CP 


( 




• •493 




JP 


Z.CHECKC 


■if do not hash triplet 


••494 




LD 


HL.ILBYTB) 


■HL-lBSacl 


■ •4*5 




LD 


DR, (KBYTE) 


■DE-l*ac2 


• •496 




ADD 


HL.DE 


ll(lacl«llac2 


••497 




LD 


DE, (PBYTE) 


■DE-ac3 


(MM 




ADD 


BL.DE 


■ (100acl«10ac2)*ac3 


• •499 




LD 


A. 251 


Idiviaor 


IISII 




CALL 


DIVIDE 


|A has aoduio 251 result 


••5(1 
•15(2 




CALL 


STORE 


■aet bit in appro, alg. aector byte 


MMS 


CHECIC 


LD 


A,» 


■check If end of record reached 


■0504 




CP 


c 




MMS 




RET 


2 


■return if end of record 


• •5)6 




DEC 


c 




■•517 




JP 


BUPLP 


■continue to hash record until 


••sis 








■end of record (i.e. C-«) 


■ 0509 
00510 








■BUFLP end 


••511 


HUAlt 


■OP 




;.-_:- 1 in A by 1( 


••512 








■BC and DE uaed 


■•513 








■ value returned in BL 


••514 




LD 


H,« 




• •515 




LD 


L.A 




• 1516 


HUBLli 


SOF 




jaultlply I in BL by 11 


••517 




ADD 


BL.RL 


■BL contalna 2*no. 


MOM 




LD 


E,L 




■ 0519 




LD 


D.a 




MSM 




ADD 


HL.HL 


■HL contalna 4'no. 


00521 




ADD 


HL.HL 


j hi. contains 8*no. 


00522 




ADD 


HL.DE 


■HL contalna IB-no. 


•■523 




RET 






••524 
••525 
















■STORE 


11526 










••527 








jatore bit in appro byte 


••528 








■ of output buffer 


••521 


STORE 


LD 


IY.KAPBOF 


■set IY to point to lndei file buffer 


■■S3* 




LD 


E.A 


jaove haah value to DE 


■■531 




LD 


0,0 




• •532 




ADD 


IY.DE 


■add haah value (DE) to index file buffer 


••533 




LD 


A,(BICT) 


■sector pointer 


• •534 




OR 


(IY*0) 




• •535 




LD 


(IY+0) ,A 




• 0536 




RET 






••537 
••538 
















1 NEWSEC 


11539 
■*54« 










mew source file sector so 


••541 








■rotate BICT bit 


••542 


NEWSEC 


LD 


A,(BICT) 




•0543 




BLCA 






0*544 




LD 


(B1CT) ,A 




00345 




CALL 


C, WRITER 


■write rec if new sector 


00546 




RET 






0*547 
MM! 
















■ CHECH 


••549 
••35) 










■check triplet for l'i 


■•531 
••552 
N5S3 
••554 








■ if any char in triplet has value. 








■then triplet la not hashed 








■blanks, EOR, control char give value 








■on return A-0 -> value 


••335 


CHECK 


LD 


DE.0 




••556 




CB 


A 


■carry • 


••357 




LD 


■L, (LBYTE) 




0*350 




sac 


1L.DE 




00559 




jp 


2.VALI 




MM 




LD 


BL, (MBYTE) 




(•Ml 




OR 


A 


■carry - 


•■562 




SBC 


HL.DE 


•■563 




JP 


Z.VAL0 




• •564 




LD 


HL, (PBYTE) 




••565 




OR 


A 


■carry ■ 


••366 




SBC 


BL.DE 




• •567 




JP 


I.VAL0 




••548 




LD 


A,l 




••569 




IR 






•»37« 

MS71 


VAL0 


LD 
RET 


A.I 


iiero value for triplet, do not hash 


••572 
••373 










READIR 


■OP 




■read input record 


••574 




LD 


DE.INDCB 


>DE->source file DCS 


••575 




CALL 


READHX 


■ read next aector 


••576 




JP 


I, READOK 


■Jp if read OK 


(■377 




CP 


28 


■end of file? 


• •578 




JP 


NI, ERROR 


■Jp to error routine if not EOR 


••379 




LD 


(RDERR) ,A 


/•tore EOF code in RDERR 


00580 


READOK 


HOP 






••581 
••582 


, 














■DSPSNR 










Listing 8 continued 



210 • 80 Micro, December 1983 



Listing 8 continued 






MM 

■I5S4 
















idisplay currant source (lie sector no. 


uses 


OSPSNH 


PUSH 


K 




■•see 




PUSH 


DE 




• 1587 




PUSH 


HL 




■MM 




PUSH 


IX 




MSM 




PUSH 


It 




KM 




LD 


BC.1)*256«18 


irll:cl8 


•»S»1 




CALL 


POSCUR 




1(592 




US 


BL, (IOCBCR) 


I load currant Bource aactor no. into BL 


M5*3 




CALL 


BXDEC 


■convert binary to ASCII 


■MM 








ion return HL->buf with 5 digit ASCII ealue 


■MM 
MSM 




CALL 
POP 


VDLIME 
IT 


.display ASCII value 


1(597 




POP 


IX 




••598 




POP 


HL 




• •599 




POP 


OK 




• •«)• 




POP 


BC 




MSfl 
• 16(2 
(MM 




RET 












(PERIOD 


MM 
•K«5 










leeta -.- for paragraph roraat 


■MM 








l(DB la replaced with '.' to Indicate 


• •••7 








lend of record 


MIM 


PERIOD 


LD 


HL.POIICT1 




MM1 




INC 


■L 


ibypass CP instruction 


■MM 




LD 


(HL),-.- 


1 convert (DH to '.' 


• 1611 




LD 


HL,POIHT2 




• •812 




INC 


BL 


ibypass CP Instruction 


• •813 




LD 


(HL),-.- 


l convert (DH to ' . ' 


• •814 




LD 


HL, POINTS 




••615 




INC 


BL 


ibypass CP instruction 


•1616 




LD 


(HL),-.- 


iconvert (DH to -." 


• •617 




LD 


BL.POINT4 




••611 




IMC 


BL 


Ibypass CP Instruction 


••619 




LD 


(BL) , ' . ■ 


iconvert (DO to -.' 


MM 




LD 


HL.HSECPF 




••621 
•1622 




LD 
RET 


(BL) ,2EH 


■sack header at byte 12 


••623 
• •624 
















I WRITER 


• •625 

• •626 










■write output rec 


• •627 


WRITER 


LD 


DE.MAPDCB 


iDE->lnde« file DCB 


• •628 




Nil 


BC 


leave BC 


• •629 




CALL 


WRITMX 


iwrite nest aactor 


MfM 




JP 


n: , ERROR 


i]p if erior 


••631 




LD 


HL.MAPBUP 


ipt to indai file buffer 


••632 




CALL 


REC( 


laet Indes file buffer to (-a 


••633 




POP 


BC 


ireatore BC 


••634 




RET 






•1635 
••636 
















I CIOPT 


••637 
•(638 










jcomnand interpreter options routine 


• •639 








iHL -> first NB char after file spec 


• •640 


CIOPT 


CALL 


EATBNK 


ibypaas blanks before semicolon 


••641 




LD 


A,(HL) 




•1642 




a 


'l ' 


iseaticolon entered to aark optiona? 


• •643 




JR 


D,cra 


UP if no optiona 


• •644 




INC 


BL 


ipolnt to next char 


•1645 




CALL 


EATimi 


ibypass any blanks after semicolon 


• •6 46 
••647 


era 


CALL 
LD 


EATBHK 
A,(BL) 


ireaove any leading blank* 


••648 




CP 


Mi 


1 7 EOR 


••649 




JR 


Z, CPTOK 




•1651 




CP 


' ( t 




• •6S1 




n 


Z.CPT4 




■1652 




KM 


5, A 


iconvert to upper caae 


••653 




CP 


■R- 




• •654 




JR 


I.CPTPNT 




••655 




CP 


,p, 




88656 




JR 


I.CPTPMT 




••657 




CP 


-T- 




••658 




JP 


IfCRKM 




• •659 




CP 


*H' 




MM 




J a 


I.CPTKK 




• •661 




jp 


CPTBAD 




••662 


an 


:s.: 


BL 




■•663 




JR 


I.CPT2 


lloop and continue to process options 


••664 








■ until end of «d line reached 


• •665 










86666 


CPTFHT 


LD 


(FORMAT) ,A 


l load format parameter 


■ 8667 




JR 


CPT4 




88668 


CPTECM 


LD 


(ENDCMD) ,A 


I load end command parameter 


■ ■669 




JR 


CPT4 




80678 










• •671 


CPTBAD 


LD 


A.( 


ibad options syntax 


• •672 




CP 


1 


iNZ (reset) 


•1673 




REIT 






■•674 


CPTOK 


a 


A 


IZ (set) options syntax OK 


■■675 
■•676 
■■677 




RET 












IMHENUI 


•1678 










•1679 


WeNUl 


■Of 




imini-menu 1 


•KM 








lused to abort program before indexlnq started 


•MS] 




LD 


BC.2'256 


ir3icl 


88682 




CALL 


POSCUR 




88683 




CALL 


ERASES 


lerase to bottom of screen 


88684 




LD 


HL.MM1MSG 


l-IDNDEX File, (N)AP or (T)RSDOS' 


• •685 




CALL 


VDLINE 




(MM 


MB] 


.'ALL 


ITWTT 


;walt for key to be pressed 


88687 




RM 


5, A 


iconvert I.e. to o.c. 


M688 




c? 


-I- 


l-I- entered? 


••689 




JP 


Z.PM1 


.•start again and get file spec 


■Mm 




CP 


•■• 


l-H- entered? 


••691 




JP 


Z.ENDIN5 


l )p to TRSDOS and load MAP 


88692 




CP 


■T- 


l -T- entered? 


•■693 




JP 


Z.JP2DOS 


UP to TRSDOS 


86694 




JR 


NHU1 


lloop until I.M or T entered 


8B69S 


HM1MSG 


DEPH 


'(Ilndex File, (H)AP"or (T)RSDOS' 


88696 




DEPB 


3 




08697 
••698 










HHELP 


LO 


BC. 6*256 


■■ini-help screen 


••699 




CALL 


POSCUR 


ir7scl 


M7M 




LD 


HL.HMSG2 


idisplay help asg's 


••781 




CALL 


VDLIHE 


lasg's are at end of thia routine 


■17(2 




LD 


A, (OH 




M7I3 




.ALL 


VDCHAR 


laklp line 


••7(4 




LD 


HL.HBSG4 




M7»5 




CALL 


VDLINE 




• •7*6 




LD 


A, SDH 




• 0787 




CALL 


VDCHAR 


iskip line 


887*8 




LD 


A, (DM 




88789 




CALL 


VDCHAR 


laklp line 


00718 




LD 


HL.HHSG6 




88711 




CALL 


VDLINE 




• 8712 




LD 


HI..HHSG8 




• 0713 




CALL 


VDLINE 




••714 




LD 


B.PENULN 


inext to bottoa line 


M715 




IB 


C,i 




••716 




CALL 


POSCUR 


ir23icl nod II, clSiCl Hod III 


M717 




CALL 


TAPEHT 


iTap enter to continue 


••718 




JP 


FN«2 


j ip back and get file apec 


(•719 


HHSG2 


MM 


'Foraat: SOURCE FILE. INDEX FILE:OPTIONS- 


■•72a 




DEPB 


BDH 




((721 


HKSG4 


DEM 


'Only the sou 


rce file specification la required- 


• B722 




DEPB 


•DB 




• •723 


HHSG6 


DEPM 


-Optional R ■ 


record fornati P - paragraph format' 


88724 




DEPB 


• DH 




88725 


HBSG8 


DEPM 


' N- 


return to NAP Naater Menu; T - return to TRSDOS- 


007 26 




DEFB 


■M 




••727 
• •728 
















lEKDIN 


••729 










M73» 








lend input file 


((731 


EHDIH 


CALL 


WRITER 


latore laat algnature aector 

Listing 8 continued 



NOW ONLY 
$99.00 



Continued Irom page 207 



WILL 

Yoummc 

YOUR 



26. SIMPLE CURSOR commands. Simply use the arrow keys to move 
your cursor around the text. The screen will scroll both vertically and 
horizontally. Shift arrows take you to the beginning or end instantly. 

27. Hi-Resolution graphics supported. 

28. COMPLETE MARGINS CONTROL. You tell CooyArt II what margins 
you desire. You can even change margins within the same text. You may 
also have parts of your text with 2 columns, some with one etc. It's 
super easy to use. 

29. BASIC PROGRAMS can be edited easily. CopyArt is really useful for 
inserting graphics within quoted strings to give your programs super 
animation without the hastle of calculating the CHRS of the graphics! 

30. VISICALC files can be loaded into CopyArt II to be manipulated 
easily. Great when you want to accompany your Visicalc reports with 
written reports, GRAPHS and BOLDFACING etc. Visicalc reports up to 
255 wide can be loaded. 

31 . SPECIAL SCRIPSIT FILE LOADER. Allows you to load your old Scrip- 
sit files without having to save them in ASCII. Copyart will also load 
Pencil files and other normal ASCII files. 

32. Similar to Scripsit. If you have used Scripsit, you can use Copy 
Art In minutes. 

33. CONTROL CODES. Lets you insert special printer control codes in 
your text. CODES between and 255. 

34. BLOCK MOVE. Simple and powerful block move. Lets you move 
paragraphs or lines of text around easily. No complicated marker set- 
tings required. 

35. FIND/REPLACE/REPEAT. Lets you find a string of characters and 
replace them with any other string of characters up to 20,000 times! 
WILDCARD search also supported. 

36. Professional Manual in easy to understand English. 

Copyart II requires a TRS-SO Model I or III, (or PMC-80 or LNW), 48k 
and 2 disk drives with Newdos-80, Ldos, Multidos, Dosplus or TRSDOS. 
Double density disk drives recommended for the Model I. 



^opyjrfTT^^" 



DOES IT 



PLEASE SPECIFY which COMPUTER and PRINTER 
you have when ordering. 

Copyart 11 with one printer driver 99.00 

Additional printer drivers 19.95 each 



COD and Credit Carts 

CALL TOLL FREE to order: 

1-800-528-1149 

Or send check or money 

order to: 

SIMUTEK 

^ 63 Computer Products Inc. 

SHMTH COMPUTE* FMMVCTS IIC, 4M7 E. SPEEOVMY U.VD. . TKtM. U 15712. (M2> 121 Mtl 

DEALER. DISTRIBUTOR I PRINTER/MANUFACTURER INQUIRIES INVITED 
TRS-SO and Scripsit arc TM ol Radio Shack a Tandy car*. 

■Indicates printer mull have capability la da laactlea. 

80 Micro, December 1983 • 211 




Listing 8 continued 








((784 








■byte label purpose 




































((7 86 








,-H-ll (DH 




■■732 




u> 


DE.INDCB 




((7 87 








■11-11 HSECPF format: «D8 rect 


rd 
































lip it .tror 
■DE->lndex file DCB 












e use] 


••7 35 




u> 


DE.HAPDCB 










































OP U error 


































• 6739 










88794 


































16741 




J? 


















96742 






















96743 




JP 


DORCND 


ijp to TRSDOS and execute cmd 


88799 






















86745 










89896 












66746 
• 6747 
66748 










66881 
8(882 
((883 


MSGSFN 


DEPH 

DBPH 


'Source and Ind 
1 different nam 














ex File must have' 










■buffere used by M3 






















M7 5I 

• 6751 
••752 


ANSWER 


DEPB 


f 


■general purpose variables 

lone byte key In variable (Y/N etc) 


8(865 

88886 
• •8(7 


DSPRD 


DEPB 
DtVM 


(DH 

'READ COMPLETE 






■•753 
■ •754 








■present In public or tbere will 


((8(9 


TITLE 


DEPH 


•MAP IMDEX PROGRAM Version 1.2- 




• •755 


CUD LPS 


DEPB 


t 
















M7 56 






















• •7 57 






















••7 58 


EMDCDD 


ZltB 


I 
















••7 59 






I 


j indexing format (R-record. P"pera) 
lused by HINDEX for file spec buffer 
■precautionary EOR 














• •76* 

• •761 


IEYBUP 


DEFS 


39 


((816 




DEPB 


(DH 




P" 


••7(2 
• •763 








((818 




_>.-- = 


(DH 














• •764 


PBYTE 


Mm 


8 










'Opened' 






••765 


MBYTE 




| 


,-hash value of middle byte of triplet 














• •766 


LBYTE 


DEFW 


1 














••767 


SCROSS 




















8(768 
86769 








■if ( then sector boundary is not 


8(824 




DEPB 


3 






88778 
















'Paragraph Form 






8(771 






















86772 






















68773 








iblt points to sector (( to 7) 














8(774 








88629 






'Error In Optii 


is Code' 




((775 










98839 




DEPB 


(DH 






(8776 
((777 


RDEFR 
INBUF 


DEFB 




jread error storage 


8(83' 
((832 


M.SGSER 


DEPH 
DEPB 


'Error in opem 


ng Source File: ' 




(3 




((778 




DEPB 


a :»•: 
















00779 


MAPBUF 


DEFS 


256 


■index file buffer 








(DH 












• DH 


■precautionary EOR for MAPBUF 












((781 
((782 








88836 
0(837 
•((38 

88839 




DEPB 


'Indexing Secto 
3 












■HEADER buffer 














END 


BEGIN 









Program Listing 9. Assembly-language listing of S3 /SRC. 


• ■(85 
•MM 


EXTERN 
EXTERN 


OPED 
OPINIT 


■open file (DE->DCB, RL->record buffer) 
■open and initialise file 


Ln • 


Source 


Lin* 




•••■7 






1 (DE->DCB, HL->record buffer) 




• ••88 


EXTERN 


POSCUR 


■position cursor (coordinates ln BC) 










• ••89 


EXTERN 


POSE0F 


■position to end of file 


••••1 


■S3/SRC VERSION 1.2 




lllll 


EXTERN 


POSN 


■position to record in file 


• •882 

88863 


■ Jun 15, 1983 






8(891 
88892 
68893 


EXTERN 
EXTERN 
EXTERN 


PRINIT 
PRLINE 
PRSCN 


■initialise printer 

■print line (HL->buf, B-no. char, C-end char) 

■print entire screen 


888(4 


■SEARCH INFORMATION RETRIEVAL PROGRAM 


((((5 


■MAIN ROUTINE 






88894 


EXTERN 


PRTBLN 


■print last line of text 


8(886 
88987 


■COPYRIGHT 1983 


, SOFTSHELL 


CORPORATION ALL RIGHTS RESERVED 


98895 
88896 
89(97 
88898 
(((99 


EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 


PRTREC 
READDR 
READNX 
SCRPRO 
SETILR 


■print current record 

■read filei direct access 

■read next record ln file 

■set scroll protect line (A-line no.) 

■set INLRR to true last record 


((••8 

00089 


SEARCH PSECT 




■begin relocatable program section 


•••1( 






■public routines 


(fill 








DIM 


EXTERN 


SETKLR 


■Set MAPLLR to true last record 




•••12 


PUBLIC 


HENU(2B 


■mini-menu 


((1(1 


EXTERN 


STMEND 


■store top of memory ln MEMEND 


(((13 


PUBLIC 


OPNOUT 


■open output file 


((1(2 


EXTERN 


VDCHAR 


■display char ln A register 
■clear screen 


•••14 


PUBLIC 


OUTREC 


■write record to output file 


■ •1(3 


EXTERN 


VDCLS 


•••15 


PUBLIC 


READIN 


■read input (source) file record 


• 8164 


EXTERN 


VDINIT 


■initialise video I/O (for Model 11) 


• ••16 








NHS 


EXTERN 


VDLINE 


■display line (HL->»sg) 


•••17 






■public variables 


Ml*6 


EXTERN 


WTtlTNX 


■write next record to file 


•BilB 








lllll i. 
Mill 








•••19 


PUBLIC 


ANSWER 


■1 byte switch 








•••2* 

■••21 


PUBLIC 
PUBLIC 


BACXSP 
BEGIN 


■backspace through file routine 
■start of SEARCH program 


11189 
Mil) 


EXTERN 


INDCB 




■input (source) file DCB 


• ••22 


PUBLIC 


CPILE 


■current file name 


• 8111 


EXTERN 


IDCBRL 


■Input file DCB Record Length 


• •■2} 


PUBLIC 


CMDLFS 


■cmd line file spec (Y/N) 


Ml 12 


EXTERN 


IDCBCR 


■Input file DCB Current Record 


11(24 






■indicates whether file spec also entered 


M113 


EXTERN 


IDC8LR 


■Input file DCS Last Record 


■•■25 






■along with SEARCH cmd 


(■114 


EXTERN 


1NLLR 


■true last record of source file 


• ••26 


PUBLIC 


CODF 




M11S 


EXTERN 


I DC BOS 


■ Input file DCB mini 


•••27 


PUBLIC 


EOF 


■end of file switch 


Milt 


EXTERN 


HAPDCB 


■RAP (index) file DCB 


•••28 


PUBLIC 


INBUP 


■input (source) file record buffer 


••117 


EXTERN 


HDCBRL 


■Hap file DCB Record Length 


• ••29 


PUBLIC 


INBUFE 


■last byte ln input record (256th) 
■byte after INBUPE 


• •111 


EXTERN 


MDCBCR 


■Hap file DCB Current Record 


• •I3> 


PUBLIC 


INBUPU 


• •119 


EXTERN 


HDCBLR 


■Hap file DCB Last Record 


•••31 


PUBLIC 


KEYBUF 


■keybuf uaed to enter HINDEX file spec 


• •12) 


EXTERN 


MAPLLR 


■true last record of index file 


• ••32 


PUBLIC 


LSTSEC 


i 


••121 


EXTERN 


MDCBOS 


■Hap file DCB ixxiixxx 


• ••33 


PUBLIC 


LINENR 




• •122 


EXTERN 


MEMEND 




• ••34 


PUBLIC 


MAPBUF 




((123 


EXTERN 


OUTCHR 


■record buffer (1 byte) for output file 


• ((35 


PUBLIC 


MAX MAP 




((124 


EXTERN 


OUTDCB 


■output file DCB 


• ••36 


PUBLIC 


NXTMAP 




((125 


EXTERN 


PRTBUF 


■printer buffer (88 char) 


■ 6637 


PUBLIC 


OP NAME 


■output file name 


88126 


EXTERN 


SORLN 


■start of record line no. 


8M38 


PUBLIC 


PARFOR 


■paragraph format routine 


6(127 


EXTERN 


STMAP 


■start of MAP index file (always last byte 


••139 


PUBLIC 


RECPOR 


■record formst routine 


• •128 






■of SEARCH program) 


98840 


PUBLIC 


MODE 


■display or list mode 


• •129 






1 


• ••41 


PUBLIC 


NINSET 


mo. of spaces for inset 


86136 






■I/O parameters i 


•••42 


PUBLIC 


NXTREC 


■absolute position of nest record 


• •131 


EXTERN 


ARROWD 


■down arrow 


•••43 


PUBLIC 


OPCOND 


■output file status (0, R or A) 


••132 


EXTERN 


ARROKL 


■left arrow 


•••44 


PUBLIC 


OP NAME 


■output file name buffer 


• 1133 


EXTERN 


ARROWS 


■right arrow 


•••45 


PUBLIC 


OFSTAT 


■output file status (Open or Closed) 


••134 


EXTERN 


ARROWU 


■up arrow 


98146 


PUBLIC 


OMODE 


■output mode (C or M) 


• •115 


EXTERN 


BRXKEY 


■break key value 


• ■•47 


PUBLIC 


PRMOOE 


■print mode <C or H) 


• •136 


EXTERN 


CPYPOS 


■copyright notice position (52 or 36) 


•••48 


PUBLIC 


PSEOR 


■pseudo EOR char (if pars format then • '.' 


••137 


EXTERN 


PENULH 


■next to last line on screen (23 or 15) 


•••49 






1 if rec. format then • IDS 


• •136 


EXTERN 


SWIDTH 


■screen width (•• or 64) 


• 8958 

■■■51 


PUBLIC 
PUBLIC 
PUBLIC 


RECBCP 
SDMODE 
SIRSET 


■record buffer (record found during search) 
■search-display mode 
■storage for inset value 


08139 i 
0*141 ■- 








•(■52 


■■141 






■calls to GR (general routines) 


•••53 


PUBLIC 


SPWORD 


■apace or word 


•■142 










•••54 






1 


Ml 43 


EXTERN 


APPEND 


■append on string to another 


■•155 






j public measages 


M144 


EXTERN 


BXDBC 


■binary to decimal conversion 


•••56 








M145 


EXTERN 


DECXB 


■decimal to binary conversion 




•••57 


PUBLIC 


MSGEOP 


1 'End of File' mag 


M146 


EXTERN 


DLINE 




•••58 
•••59 
89968 
• ••61 


PUBLIC 


SEAHSC 


■'Searching' msg 


(1147 
((148 
((149 

99156 


EXTERN 
EXTERN 
EXTERN 


DSPNBR 

DSPNBRL 

EATBNK 


■display 5-diglt decimal no. (right justified) 
■display 5-dlglt decimal no. (left Justified) 
■remove leading blanks 






■ calls to MODI I or MODI I I 








EXTERN 


FSPEC 


■ move cmd Una file psec to KEYBUP 


• ••62 


EXTERN 


BOTTOM 


■position cursor to last line of screen 


((151 


EXTERN 


GETMPN 


■get MAP file names 


• ••(3 


EXTERN 


CLOSE 


■close file (DE->DCB) 


((152 


EXTERN 


LINE 


■display line (from char ln A reg) 


99(64 


EXTERN 


CURPOS 


■determine cursor pos (cooriBC) 


((153 


EXTERN 


PACKFS 


■pack (compress) file spec ln fixed table 
■parse one file spec 


99965 


EXTERN 


DISBRX 


■disable break (for Model II) 


((154 


EXTERN 


PARSEF 


99966 


EXTERN 


DIVIDE 


■ divide A into HL 


((155 


EXTERN 


REC8 


■zero-out 256-byte record 
■blank-out 256-byte record 
■'Tap enter to continue" 


88867 


EXTERN 


DOSCMD 


■jp to TRSDOS and execute command 


(9156 


EXTERN 


RECBL 


• ••68 


EXTERN 


ERASEL 


■erase to end of line 


(•157 


EXTERN 


TAPENT 


86869 
• 8878 


EXTERN 
EXTERN 


ERASES 
ERRDSP 


■erase to end of screen 
■NAP error display routine 


((158 ■- 








• 1159 






■GR buffers 


•••71 


EXTERN 


ERROR 


■TRSDOS error msg routine 

■position cursor to top line of screen 


98168 
••161 








• ••72 


EXTERN 


HOME 


EXTERN 


SNAM.SEXT 


SPSM.SDDR isource file table 


•••7 3 


EXTERN 


zaiT 


■lnltlallie file (create/open, pos to 1st rec) 


••1(2 


EXTERN 


INAM.IEXT 


IPSW.IDDR ■ Index file table 


•••74 






j (DE->DCB, HL->rec buf) 


••163 


EXTERN 


ONAM.OEXT 


OPSW,ODDR 


•••75 


EXTERN 


JP2DOS 


■ Jp to TRSDOS 


••1(4 ■ 








•••76 


EXTERN 


XBCHAR 


■get char (or null) from keyboard 


M165 ■ - 








•••77 


EXTERN 


KBINIT 


■initialise keyboard (Hod II) 


• 9166 






■calls to S3DSP display routines 


•••78 
■••79 


EXTERN 
EXTERN 


KBLIH3 
KBLINE 


■get line from keyboard and end with (3 
■get line from keyboard and end with *DH 


M167 
11149 


EXTERN 


BYUPDN 


■bypass up-down switch 
■list routine 


•MM 


EXTERN 


XBWAIT 


■wait for char from keyboard 


M169 


EXTERN 


LIST 


IMB1 


EXTERN 


IEYIN 


■get search key(s) form keyboard 


• 9179 


EXTERN 


DSP 


■display current record on CRT 


•••■2 
•MB3 


EXTERN 


MOVELN 


■move line from screen to buffer 
■HL->buf, D-no. char, BC-cursor coor 


■■171 j— 






M172 






■calls to S30PT options routine 


•■■84 


EXTERN 


NEWLN 


■role screen and pos cur to next to last line 


• •173 








Listing 9 continued 



212 • 80 Micro, December 1983 



TRS 80* 

Model I or III (wO 



Music at your fingertips 

for all ages 



also available 

Scrip Saver 80 

Relocates end of file 
marker lo recover 
damaged SCRIPSIT* 
documenls:Mod.lll disc 




EUITRR 
PRIfTlER • flD 

Pitch pipe Tuning Chord exercises 

Chord menu Beginner songs Music A-Z 



* 'RAOfMAdK Of TANDV CORP. 



GUITAR PRIMER-80 (tape)*. $14.95 

Scrip Saver 80 (tape)* "_'."."_"_ 1 11$ 12.95 

OUTSlDt CONTINENTAL USA OR COD ADO $3.00 ~ " p^^f "s^ c , fY 
• SOTH TAPFS Will TRANSFER TO DISC MODE I lex III 

■Al. • . \ Check^Money Order«Visa i 

3oiithbaY > V Master Charge*COD "* 2 

Cfi ^/£ ^^* 10 ° Milbrae Ave. Suite 3 P.O. Box 9e>° 



Mllbrae, CA 94030 



(415)6977639 



BUSINESS SOFTWARE 



General Ledger $99.95 

• Customize financial statements 

• Almost unlimited storage capacity 

• Income statement by department 



Accounts Receivable $99.95 

Payroll $89.95 

Loan Amortization $39.95| 

Requires Model III or IV, 48K, 2 drives and 80 col printer 



Tax Package(s). . .$39.95/ea. 

Save time, print all forms & schedules 
• 4 Packages offered • incl. Corp. tax 
Save client on disk • Triple output 
FREE PLASTIC OVERLAYS - FORM 1040 .— ». 
48K Mod 1, 3, & 4, 1 dr & 48K Apple II + '*"* ' 
For more info call (312) 862 4531 — 



SOfTWARE 



Bo. Hi H.immond IN 4f>3?0 




AN OPTIMIZING 
AND 




FAST LOAD LIBRARIES: 



INTERPRETER: 

OVER 126 FUNCTIONS WMM IWH O IN 

1*8E INTtumtltH 

DOCUMENTATION: 

THE MANUAL IS OVER TOO PAGES COVERING 
ALl ASPECTS OF THE SYSTEM NUMEROUS 
EXAMPLES OF EACH FACILITY ARE INCLUDED 

SUPPORT SOFTWARE: 

LITTLE META- TRANSLATOR WRITING SYSTEM 
* A LISP PROGRAM WHICH PBtMITS YOU 
TO SPECIFY THE SYNTAX OF A PROP A AMINO 
LANOUAOE AND HOW IT ■ TO BE •tfTERPRETED 

REQUIREMENTS: 



ORDERING: 



SYSTEM MANUAL »30 
COMPLETE SYSTEM *1EO 
LTTTLE META MANUAL ONLY ...•» 
L/TTLE META TRANSLATOR *«o 
VISA and MASTERCARD 
PLEASE INCLUOE EXPIRATION DATE and CARD No 



FAR WEST SYSTEMS. SOFTWARE, INC 
P.0 BOX 6S82, PALO ALTO 84305 
(4TS)»41 -0900 



\FW 



* A MAGICAL INTRODUCTION * 

TO COMPUTING. 



'computer v 

CARNIVAL has arrived, with 60 easy-to-use TRS-80 Level II BASIC 
programs for children of all ages. Characters like Sugar Louie and Madam Zelda 
will help your child expand his or her creativity and develop keyboard skills through 
games, puzzles, and educational quizzes. 

COMPUTER CARNIVAL by Richard Ramella features: 

•LARGE, READABLE TYPE 
•SHORT, EASY-TO-TYPE PROGRAMS 
•SPIRAL BINDING 

To make the adventure even more 
ljoyable, take along CARNIVAL 
COMPANION, a ready- 
to-load cassette that lets your 
children spend more 
time playing and 
less time typing 




COMPUTER 
CARNIVAL 

(boot only) BK7389 $lb»7 COM- 1 

PUTER CARNIVAL and CARNlJ 

'VAL COMPANION (book and cassette) 

CC7389 S:4 .97. Add $2.00 shipping 

and handling. Dealer inquiries invited 

Call TOLL-FREE 1-800-258-5473 

WAYNE GREEN BOOKS, 
PETERBOROUGH. NH 03458 

JCOM PUTER CARNIVAL 
and CARNIVAL COM- 
PANION (book and 

cassette) CC7389 $24.91 
COMPUTER CARNIVAL? 

(book only) BK7389$I6.9? 

include >.I.cV per order tor shipping 
and handling charges) D Pavmcni EikW. 
DMC O VISA DAMKXCanl/ 

Enptrw MC Bankl ____ 



* A WAYNE GREEN PUBLICATION 



roOMCOP) or coupon is 
acceptable lot ordering 



TRS-aOb. a ir;kicm.irl ot rh, RaIk. Sh.xk tkvaion irf Tainlv CalB 



33DB8C 

i PS Jriivcni H n>mpl«'«' 

trrd .xlviri^s i* pr. tvi^kj 



*• See Ust ol Advertisers on Page 291 



80 Micro, December 1983 • 213 



Listing 9 continued 



••174 

• •175 

• •176 


EXTERN 


OPT 


/options routine 






/calls to S30PEN open (ilea 


••177 
• •178 








EXTERN 


GETFILE 


;get file spec, open files and 


• •179 






j then load index into memory 


• •IBS 

• •181 

• •182 








' 










1 SEARCH main segment 


• •183 






t syntax i 


•1184 






ISEARCB src flle.ind file, out flleiopti 


• 1185 






/ opt ions i 


• •186 






; T-return to TRSDOS or H-return to HAP 


••187 






i H la default 


• •1*8 


begin rase 


sat 


;BL->cs>d line buffer 


• •189 






i save while top of memory la found and 


• •191 






1 break la dlaabled 


• •191 


CALL 


STMEHD 


/act memory end (aa many sig sectors as 


••192 






ipoaalble Mill be stored in memory f roe 


••193 






/end of program to top of aemory) 


• •194 


CALL 


DISBRX 


.•disable break on Nod II 


••195 


NO 


BL 


:BL->cmd line buffer 


••196 


CALL 


FSPEC 


/get cad line file spec if any 


•(197 






iload file apec into XEYBUF 


••198 






/if file spec present LD cmdlfs with '1 


• •199 


LD 


A,» 




• •288 


CALL 


SCRPRO 


;no subwlndow 


88281 


CALL 


VDCLS 


;erase screen 


• •282 


10 


BL, TITLE 


ipoint to title 


• I2B3 


CALL 


VDLINE 


/display title 


88284 


LD 


BC.CPYPOS 


icopyright notice coordlnatea (Hod II/I 


• •215 


CALL 


POSCUR 


;rl:c52 Model II, rise Model III 


88286 


LD 


HL,CPYHSG 


jpoint to copyright notice 


••2)7 


CALL 


VDLINE 


{display copyright notice 


• •218 


LD 


BC, 1*256 


irlicl 


• •2(9 


CALL 


POSCUR 




• •211 


LD 


A, '-' 


; select »-■ char for LINE routine 


• •211 


CALL 


LIB 


/draw dashed line under title 


••212 


| 






••213 






i initialise varalblesi 


• •214 


LD 


A, "■' 




••215 


LB 


(BTOPDN) ,A 


/do not bypass pause after displaying 


••216 






I a record 


••217 


u 


A, '■' 


I initial search dsp mode ■ record 


• •218 


LD 


(SDKOOE) ,A 


1 initial lie search dso eode 


••219 


LD 


A,'N' 


linitlal print eode ■ manual 


• •221 


LD 


(PRMOOE) ,A 




• •221 


LD 


(ONOOE) ,A 


I initial output mode - nanual 


88222 
• •223 












/CETFSP 


• •224 








i ~ " 


• B225 


GETFSP CALL 


GETPILE 


/get file apec, open filea and 


• 1226 






;then load index into memory 


• •227 
••228 












; NASTLP 


••229 
••231 












; master loop 


•1231 






/after each search the program returns 


••232 






ito this point 


••233 


NASTLP LD 


A,( 




• •234 


LD 


(EOT), A 


;aet EOF-B (i.e. not end of file) 


••235 


CALL 


BOHE 


irlicl 


11236 


CALL 


ERAS EL 


/erase line 


••237 


LD 


HL.RSGXEY 


i' Enter Key' 


••238 


CALL 


VDLINE 




••239 


LD 


BC,3« 


irl:c31 


88248 


CALL 


POSCUR 




•1241 


LD 


HL.CPILE 


icurrent source file name 


• •242 


CALL 


VDLINE 


.display current file 


•1243 


LD 


A, 3 




• •244 


CALL 


SCRPRO 


/set scroll protect at value in A 


••245 


LD 


BC, 2*256 


;r3icl 


• 8246 


CALL 


POSCUR 




BB247 


LD 


A, '-' 


iselect '-' char for LINE routine 


8)248 


CALL 


LINE 


i draw daahad line 


88249 


CALL 


GETKEY 


/get key(a) 


ttiit 


CP 


BRKKEY 


,-vas break entered? 


• •251 


JP 


NI.CALSYN 


;jp to CLASYN if break not entered 


• •252 


CALL 


HENUB2 


icall mini-menu 


••253 


CP 


■c 


/change file apec? 


• •254 


JF 


Z, GETFSP 


/loop back and get file apec 
/options? 


••255 


CP 


•O' 


• •256 


JP 


Z.NASTLP 


;loop back and get search key 


• •257 


CP 


■«' 


jMAP? 


• •258 


Jr 


I, DO SCUD 


Ijp to MAP 


• •259 


CP 


■T" 


1 TRSDOS? 


M26« 


JP 


Z.JP2DOS 


ijp to TRSDOS 


• •261 


n 


RASTLP 


i loop back and get search key 


• •262 


CALSTN CALL 


SYNTAX 


; check syntax of search key 


• •263 


CP 


• 


/ ("improper syntax 


• •264 


JP 


I.HASTLP 


ftry again if improper 


• •265 

• •266 

• •267 


CALL 


HSHKEY 


ihaah search key 


riND2 CALL 


SEAH8C 


/display 'Searching' mag 
istart at 1 aince header - • 


• •268 


LD 


BL,1 


• •269 


LD 


(CNSEC) ,UL 


/current map sector - 1 


••271 


LD 


HL.STHAP 


iBL-> atart of inde» in memory 


• •271 


LD 


(NXTMAP) ,HL 


1 (NXTMAP) -> 1st map sec 


8B272 


LD 


IX.B8BBH 


j IX -> lit input see 


• •273 


CALL 


NEHLN 




••274 


1 






••275 


T1ND4 NOP 




;get map sector and bits 


• •276 






inert op stored in NXTOP 


••277 


CALL 


XBCHAR 


■checks for break 


••278 


CP 


BRKKEY 


:<break>? 


•1279 


JF 


I, NASTLP 


;]p to start of loop if break 


• •288 


LD 


HL.HSHBUF 


;HL -> RSHBUr (search key signature but 


••281 


U) 


A, 255 




••282 


LD 


<TBYTE) ,A 


;set TBYTE - 255 


• •283 


LD 


A,( 




••284 


LD 


(TTBYTE) ,A 




••265 


:.d 


A, 253 


;and 


BB286 


LD 


(NXTOP) ,A 


; first op - and 


88287 


LD 


c,( 


unit length a 


88288 


I • • ■ 






88289 


FIND4F LD 


I Y,( NXTMAP 1 


/IY-> byte 8 map sector 


88298 


LD 


A,(HLI 


;A(i) - haohcode(l) 


88291 


CP 


253 


land op? 


• 8292 


JR 


Z, SNXTOP 




88293 


CP 


2S4 


;or op? 


80294 


JR 


Z, SNXTOP 




88295 


JP 


FIND4H 




8B296 


SNXTOP NOP 




;save next op 


BB297 


LD 


D,A 


;D has future oper 


• •298 


LD 


A. (NXTOP) 


;get current oper 


••299 


LB 


E,A 


;E has current oper 


• •388 


LD 


A,D 




••3)1 


LD 


(NXTOP) ,A 


istore NXTOP 


• •382 


LD 


A,D 


/check future oper 


88383 


CP 


253 


;and? 


• ■3B4 


JP 


Z. FDAND 




• •315 


CP 


254 


; c [ :' 


••3)6 


JR 


root 




98387 


FDAND SOP 




.-and op 


88388 


JP 


FIND4I 




88389 


POOR NOP 




;or op 


88318 


LD 


A, (TTBYTE) 




88311 


LD 


B,A 


;B has TTBYTE 


88312 


LD 


A, (TBYTE) 




88313 


LH 


B 


;or TBYTE with TTBYTE 


BB314 


LD 


(TTBYTE) ,A 


/save new TTBYTE 


88315 


LD 


A, 255 




88316 


IX 


(TBYTE) ,A 


jreinlt (TBYTE) 


• •317 


JP 


FIND4I 




• ■318 


FIND4H LD 


Pal 


/HSHBUF byte not op 


••319 


LD 


E,A 


:so see if bit pattern 


• •321 


IBB 


IY.DE 


/present in current sec 


• •321 


LD 


A, (TBYTE) 




1(322 


AND 


IIY*() 


/and TBYTE with HSH byte 


••323 


LD 


(TBYTE) ,A 


/save new value 


1(324 


FIND41 INC 


C 


sitae length counter 



• •325 
••326 
•(327 

• •328 
8B329 
98338 
88331 
88332 
88333 

• 8334 
88335 
88336 
88337 
88338 

• •339 
88348 

• •341 

• •342 

• ■343 
••344 
•(345 

• •346 
••347 
88348 
88349 
B835B 
88351 
88352 
C8353 
88354 
8B355 
88356 
8B357 
88358 
88359 
88368 
88361 
••362 
••363 
•8364 

• •365 

• •366 
•0367 

• •368 
8(369 
••378 
•■371 
88372 
••373 
88374 
8B375 
08376 
88377 
88378 
88379 
88388 
88361 
88382 
88383 
88384 
••385 

• •386 
1(387 
••388 
8(389 
88398 
(B391 
08392 
80393 
98394 
08395 
88396 
88397 
88398 
BB399 
08488 
88481 
08482 
88483 
88484 
88485 
88486 
814(7 
8(418 
((4(9 
((411 
••411 

• 1412 
08413 
••414 

• •415 
88416 
B8417 
88418 
88419 
BB428 
00421 
BB422 
8B423 
88424 
88425 
88426 

• •427 

• •428 
1(429 
M43( 
••431 

• •432 

• •433 

• 8434 
(8435 
88436 
88437 
8B43B 
88439 
08448 
00441 
80442 
00443 
80444 
00445 
80446 
88447 
88448 
■8449 
0»4S« 
••451 
((452 
0(453 

• •454 
••455 
••4 56 

• •457 
••458 
8(459 
(0468 
88461 
08462 
88463 
00464 
C8465 
00466 
00467 
00468 
BB469 
88478 
((471 
8(472 
8(473 
((474 
((475 



FIND4K NOP 



F1ND4P LD 

OR 

FIND4T CP 



OK 

IMC 
IMC 
INC 

ISC 
INC 
: nc 



FIHD6D LD 



FIND6L INC 



FIND12 JP 



A, (WDLEN) 

C 

Z.FIMD4X 



A, (TTBYTE) 
D,A 

A, (TBYTE) 



Z.NOXEY 
(TBYTE) ,A 
FIHD6 



/has (WDLEN) been tea 

/get next HSHBUP byte 
/end of map sector se 



/last op - or 

/any Key found? 

/key found, save (TBYTE) 



KBBRK 
NZ , NASTLP 
A, I 

(BICT) ,A 
A, (TBYTE) 

(TBYTE) ,A 

NC.FIND6L 

GETS EC 

BRXXEY 

Z.HASTLP 

IX 

A, (BICT) 



being scanned 



/BICT ■ corn 

/move bit into carry 

/get sector and search it for key(s 

/<break>? 

/abort search if <break> pressed 

/bump input rec # 



/FINDS 



u 


HL, (NXTMAP) 


LD 


DE.256 


ADD 


RL.DE 


a 


(NXTMAP) ,HL 


IB 


DE.IHAXHAP) 


XOR 


A 


aac 


HL.DE 


jp 


P.FINDK 


JR 


Z.FINDK 


IX 


HL.ICMSEC) 


INC 


BL 


LD 


(CNSEC) ,HL 


JP 


FIND4 



/HL ->next map sector in memory 

/next map sector in memory bumped by 1 

/Check if NXTMAP > MAXHAP 



/next oap sector still in memory 
/HL -> current HAP sector 
zinc CMSEC 



/ loop and 

,-FINDlO 



/required MAP sector not in memory 
/HL -> current MAP sector on disk 
,-DE ■ last sector in MAP file 



HL.DE 
P.FIND12 
Z.FIND12 
HL, (CMSEC) 



HL.RAPBUF 
DE, (MAXHAP) 
BC.256 

HL.(HAXHAP) 
(NXTHAP) ,HL 
FIND4 



BC, 1*256 »• 

POSCUR 

ERAS EL 

B,6« 

HL, XEYBUF 

EEYIN 

BRXXi-Y 

NX.GKEY1 

BC, 3*256 
POSCUR 
ERASES 
A, BRKKEY 



HL.KEYBUF 
A.IHL) 
BDH 
Z.GKEY8 



(HL) ,A 
HI 

GKEY2 
HL,( 

(LLRN) ,HL 
BC, 3*256 
POSCUR 
ERASES 
A, BDH 



/input search key(s) 
/entry: no parameters 
/exit: A - <break> or EOR-BDH 
zreg altered: AF.HL.DE.BC 

/r2,cl 

/erase to end of line 

/mas key length - 6( 

/HL->aearch key buffer 

: xeyin routine for search key 

/was break key pressed? 

/break was pressed 

/r4:cl 



/convert upper case letters to lower c 

/get char from search key 

zEOR? 

/exit loop if end of search key 

/ 'Z' 

/needed?? 

/ 'A' 

/bypass if < 'A' 

/convert to lower case 

/overwrite upper case with lower case 

/loop until EOR 

zlnit (LLRN)-( 

■r4:cl 



/SYNTAX 



/check search key(s) for proper syntax 

zKEYIN routine stores 

/ + operator as 253 

I I operator as 254 

/each key must be 3 or more char long 

/entry: no parameters passed 

/exit/ A - validity of key(a) 

/ A ■ (, bad key/ A • 1 proper key(* 

zreg altered: af, bc, DE, hl 

;HL-> search key buffer 

,-C • key length Unit to () 



Listing 9 continued 



214 • 80 Micro, December 1983 



VOICE SYNTHESIZER 
FOR APPLE AND COMMODORE 




• Over 250 ward vociDuUry -»«*>•* Mow Ik* tornution ol m*r* 
!h»n 500 words • Buet-in iMpMoir. speaker, volume control and 
audio »ck • Recreates a clear. nMuril mata voice • Plug-in usar 
rudy wrtn dociMwataMa and itmft tottwart • Cm we 
1%"1 x 3V. "W ¥ 1-3/l-H 



APPLICATIONS: 

• Secarlty Warning . TaH 

• TtachMtfl • Handicap Aid 

• Instrumentation • Gams 

it. jesm vnct smMiina mm^nn,.. ww. tea we m n 

■ ii'iii ' i eseaet w mum wanes, ■■ww in m i Msitjujuai'' 

toeoct rVecst.tr (imiw mm aaaan, ■ n na JCSIB awnn 
MilMOOMMlMr, «»,«.*.««•>««>• 

It* las* a M M il W MM lUUlW 

Perl No. Description Pr.ce 

JE520CM For Commodore M r. VIC-20 $114.95 

JE520AP For Appi* m n. audita $149 95 



C JiiiltltUi umi? 



■•■»• »»*♦ M«kW MM 



CARD-FDGE CONNECTORS 



SOLDER 
TRANSITION 
CONNECTORS 

• 0*. PtRM»NIN- 

IEHMINATI0N TO MINTED CIRCUIT BOARDS 




RIBBON J4»i. 

CONNECTORS "H*am 



Y.-.-.v.-.v.v/.v.v.-.v 

SOCKET CONNECTORS 



MALE CONNECTOR 




^ 



Micro-Logic Corp. 
MICRO-CHARTS 

• (mi, mM Ma • nm access • law naar n i i • compeer 

(niii • mm creel can Max • toiad Mr man — m i & ...j..— ., 

• Clear I orate lata Mr M aaxaw m> i i u i W i ascii w cm> 
son .flee- « -aes campers n time «a*.-ia>i utscM set*! era. tenee 
dagrsmt taaj "otas 4 mucn mora 

rut no amacaict wag 

MLZ80 Z80CPU $5 95 

ML 8080A 8O80A/8O85A $5.95 

ML-6S02 6502 (6SXX) S5.95 

ML-8048 8048, Relallves $5.95 

ML-7400 54007400 TTL Pin Outs $5 95 



28AWG FLAT GREY CABLE 



CUSTOM ASSEMBLIES 



»»'i'»« - iniaejwi. i . " 

a.nawinai. mn 

/ a»WwtM'riwamap mm ■ wee 

■««iii»ia»n cituar cuiroe cm km mi un 



» auiw i 



■<•; «| . m 



i:w:ii^.:jifti,ir'.'bffl Lg 



ACCESSORIES FOR APPLE* COMPUTERS 



BOOKS 



ii. »• 

MM I 
tMH 

M 
MM 

30011 

-■'Ii 
710*30 



MM 



National CMOS Data Sooa IIM1I 

(640 pages) 74C CO4000 and A/D Converters 

National llnssr Dsls Boo* (10*2) I11.*S 

IH76 p*o»»| LM. ir »PC, 0*C. LM Soran 

National Memory Data Soot 1 10*0) Is »i 

(4*4 MOM RAMS. ROM*. PROM*. EPROM* Series 

kitereM Data Boo* 110*31 mi 

(1356 page*) Complete line 

National AwrKofUdio Handbook (1000) S4.0S 

(240 pogeel Pro Ampa, AM FM * «M Steroo Po**» Amps 

National PAJ. Data Boa* 110*2) JS H 

II 76 psoas) Application Notsa Llnssr Brie'*, arc 

Zllog Oala Boot HMD %I ($ 

(641 pages) Microp'ocessors and Support Cnips 

Intel Me—or, Compormita Handooot I1003I 11*0* 

(7S* psossi Contains aii Application Notsa. Arties 
Rsprmts Dsts Sheets snd othe' Oeargn information 
on Intel I RAM*. EPROUt E'PROMs t Bubble Memu-.e* 
InlelMlC'OprocstsoraPertpnsrslHandbooailOaSt 114. Oft 
(1027 pages) Contains Osta Sheets on ail or 
Intel » Microprocessor* snd Penphsf Ala 



4-Digit Fluorescent Alarm Clock Kit 




Sua t »/i"l > J*-» . It*-* 

JE750 Alarm Clock Kit 



$29 95 




Digital Thermometer Kit 



co«M'oi» lot ■froooritniMoor 
Of du«l monitoring c*n 0* 
•ntcAOeo to M0 «••< Corv 
linuoui L£0 8' h( d-%t»ay 
R*v»g« 4C'Ho iW*. -40-C 
to 100X AccuroKy t <• 



JE300. $39.95 



Universal 




Computer Keyboard Enclosures 



*» ^ 



Or t a Panel Width ; 5 
0TE11 PsnetWWth to 1]' 
0TE-14 Panel Width 114' 

0TC 20 Psnsl Width 10.29 ' 
•». DTE 22 Psnsl Width 21.375 • 



an OMMjnM tar aa*f asKatce 
ttoa itarakwajnasvnaasaM 

M Mess » mscKi *tm> Mast 
*-S-t*"**hs*parW1or ksrwes/ 
r-jc:-:- x :■- :J --. *i- 

..<'!« '. '. BaM ajajtal 

. i • . : - ' - . -j .. .■ 

| ■- BJ| ■ » ' . . ." . - , 

<--: . ■•' ' i-r .-■- 

turn 
tarn 

UB-BS 



^ See Ust ol AoVert/sers on Page 291 



Numeric/ Auxiliary Keypad 
lor APPLE He 




im 



POWER SUPPIT «5V0Cft '5 AMP 12V0C u 15 AMP SWITCHING 
issm imac s»t»H,,i imp/ urtAC wn<u», m •*■ <t~n warn bbM ••* 

••'/»*.«; Oetpal 5*Ka;i*a ( intCg ties, lax. so. DM lib Wl 



POWER SUPPLY 4-Channel Switching • Apple Compatible 

atcraprsoansr iai» catapatli tarisnai. «e4«* ttmpewel 



'■r» ■ *-iS'ii-H 



S69 95eicti 



$10.00 Minimum Order — U.S. Funds Only 
California Residents Add 6 i". Sales Tax 
Shipping — Add 5% plus $1.50 Insurance 
Send S.A.S.E. tor Monthly Sales Flyer 



MasterCard 

■ 




L " 1 ■ "1 



Spec Sheets — 30c each 
Send $1.00 Postage tor your 
FREE T984 JAMECO CATALOG 
Prices Subject to Change 



ameco 



ELECTRONICS 



S34 1355 SHOREWAY ROAD, BELMONT, CA 94002 

12/83 PHONE ORDERS WELCOME — (41S) 592 8097 Telex: 176043 




JE664 EPROM PROGRAMMER 

8K TO 64K EPROMS - 24 AND 28 PIN PACKAGES 

* r 2 aL '— aaasalai ass caacll Mr pxpsr* rite) rmOMi • FaiWalai PIODi 

» enkgsjs • as?jjc C aeial lat m i Mr aasM/stsfraai Mseiaa • urn tan 
muuu a, terteari • caaesat in B MM t, Mrtaari • lsm* MM hs. .. 

iPBXMI • Caaaarei fPIOMi M- crnmi SlBaiaa Ls i • Caem EnOMi . rtear la 
M 1I5MC. B*Hi < IBM hmi ctMeaatae • IpOm.ii CMa^efdlnatM 
»f M Mas* BVBMM aMOu Brass M gaacai • Sua 15-S'll i S*-tl i 
IS -11 • Wl S« kt 



JE664-A EPSOM Programmer S995 00 

»»**"«•*! I Tts M {lm.ti.0ss ^MltA Me oJMi 

JE665 - RS232C INTERFACE OMMW - "•-,.i.*^s,jK.na«iaeo 
Opsaa i m oa n Msi i iat at j .Ni accsaa » *» Jtata t "AM taaasaa Ktiasra Minas • 
BASIC proMOse tor IPS so* Uoss i in* H Canpsw Sana i» 0600 Wots 
■aaa aaas 0000*1 sioodm ? Ooaonma, o*aosptsaisataefco«r><e>i) The 
AMI aaka aaj j.«-. • .:.. ... aaa , Mas .<•- aw BMaaajaM r- 

«•» Mr irSartscsta, M ana 0>'b1 systam s«i as «SJ3! psn 

JE664-ARS Emoaa a^.— ... .xttto**. $1195 00 

AstanMd and lastad (Incluoas JMltA ModuM) 

EPROM JUMPER MODULES a i-*4 i jusjw noon I i<*rss«*>) 



EPROM MANUFACTURER 



V I 

M1M 

mm 

" 
" ■ 

'■ .; 
'■• ■ 
'.' I 



2rOI 

?"6 !HS25lt 
'»S2'1» 
'MS2532 
2732 

77J2* (21VI 

,. ., ,:.-, 
.. .. . 

;t«4 



AMD ta uka sM ttsaonai aaa I |2S* 
MM Ksaarola kaMA* V 
Utaimu nut, s «'2l 
UauroM I) 125V) 

MOO fsels. NEC Hitters nw<»Vi 
risaiu mmtl'Yi 

ItaMralelitVl 
••PI2IVI 
1l(2S»l 
HttacHl?lV| 



UV-EPROM Eraser 



. 8 Chips - 51 Minutes 



NSfe 



1 Chip - 37 Minutes 



Erases 270*. 271*. 2712. 27*4. MM 2S32 2S*4 Erssss up to I chips 
•rltnin 51 mtnutss (1 chip in 37 minutes) Maintains constant siposurs 
distancs ot one inch Special conduct)!* loam liner sllmmsle* sialic 
buildup Bum m i. i.l, lock to pretent UV siposurs Compscl - oni, 
0.00- s 170 ■ s 2.B0- Comptsts srlth holding tjeja lc.lch.pa 

DE-4 UV EPROM Eraser S 79.95 
UVS-11EL Replacement Bulb $16.95 



5'/4" APPLE- 
COMPATIBLE 
DISK DRIVE 

• urn tkseart um sMOaaKt • 141> 
MrsiaiM4 ttsraia • X nets - n »|t* W 
eta tape cestiasar • CsmpMts set ceeaac 
■r aaa tasM - tal PM| aaa isar a ist aae 
•'Ottt- car* • SOS I'l a ) , -W . 

ai'ia'D ■ wt s jM as, iki 
PartNo.ADD-514 $195 95 



8JFLOPPY DISK DRIVE 



Shugart 801 R 
compatible 
Single-Sided 
77 Track! 
400/8O0K Bytes 
Capacity 
Industry Standard 

we'r, stenderd) raature* 
' M s -gie UFM double 
e de-s •,; SOOK Mis sec 
I; aort aim Via singls 
• i ■ . - f - . 
nsi • SVOC # 1 2 amps 
a* case poareiauppi,. or 
Mghs 12 lbs Incites 



FDD100-8 . $1 69.95 ea. 



IBM MEMORY EXPANSION KIT 



SAVE HUNDREDS OF SSS BY UPGRADING 
MEMORY BOARDS YOURSELF! 

Mosl ol ths populsr memory boards allow you to add an additional 
MK I2»K. l*2K. or 3MK Ths IBM«4K KM .ill populsls tns*e board* 
in *4k byl* increments The kit Is simple to Inalell — hist Insert ths 
r*ts «4K RAM chips In ths proetded soctell end set the tara groups 
ol saritchas Directions are Included 

IBM64K (Nine 200ns 64K RAMs) $49.95 



EXPAND YOUR MEMORY 



TRS-80 to 16K, 32K. or 48K 

"Model 1 ■ From 4K to 16K Raq.lrai |1| One KH 
Modal 3 a From 4K lo UK Raquir*. |3) Thra* Kltt 
Calor = From 4K to 16K Rtqulra, 11) On* Kit 

"■MM I eeaiBPta alt liHMUaa tssra usUIIrtin HagaVea 
- Oat ■ Basalts Mr tact IK * Eisaauaa - 

TRS-16K3 *?00ns (or Color & Model i|| S12.95 

TRS-16K4 '2S0m lor Model I $10 95 



TRS-80 Color 32K or 64K Conversion Kit 



M-"or —od 'canons ot 32K memory will SHOW ths use ot al< I 
,, RAM prondlng you have a FLEX DOS ooerat.m 

TRS-64K2 $44.95 



80 Micro, December 1983 • 215 



Listing 9 continued 
















00476 


SYNLP 


LD 


A,(HL) 


iget char from search Key buffer 


00628 




LD 


(LLRN) ,HL 


iCLRN will be next LLRN 


80477 




INC 


HL 


ipt to next char In search key buffer 


00629 




ex 


DE,HL 


lis this needed?? 


H47a 




c» 


0DH 


lEOR? (end of search key?) 


00630 




l:i 


B,A 




00479 




JP 


Z , SYNEND 


■ exit loop if end of key 


0)631 




XOR 


A 


icarry ■ 


M4M 




CP 


253 


land 7 


■ ■632 




LD 


A,B 


I restore A 


00481 




JR 


Z.SYNOP 




• •633 




SBC 


HL.DE 




1)462 




ct 


254 


lor 7 


• •634 




JP 


NZ.SECLP3 




81483 




JR 


Z.SYNOP 




•1635 




IB 


A,(B2S6) 




■MM 




OR 


C 


■valid char so bump key length count 


• •636 




CP 


•DH 


■ EOR? 


((485 




JR 


SYNLP 


i loop until end of key reached 


••6 37 




JP 


Z.SECLP3 


■ If EOR then read 1st rec 


■MM 


SYNOP 


LB 


A,l 


jkey terminated by operand 


• 1638 


CP2E2 


CP 


•DB 


■ "• ' 


■•487 




CT 


C 


;-;: key >- 3? 

fkey len - 3, so get nest key 


•1639 




JR 


Z.SECLP3 


■if EOR then read 1st rec 


•1488 




JR 


Z.SYNRST 


••641 


SECLP 


CALL 


RESTSC 




•Mas 




a 


H.SYNRST 


ikey len > 3 so get nest key 


••641 


SECLP3 


CP 


I 




■ •49* 


SYNER 


LD 


8C, 3-256 


isyntas error (key < 1 char) 


• ■642 




JP 


Z, ENDS EC 




•1491 




CALL 


POSCDR 


ir4:cl 


• ■643 




CALL 


SX 


■scan for keys 


••492 




--a:.:. 


ERASES 


/erase to end of screen 


•1644 




LD 


A, (HIT) 




• •493 




LD 


HL, THREE 


j 'Each key must be three or sore char "(3 


(■645 




CP 


I 


icheck if key found 


• 1494 




3U 


VDLINE 




(1646 




JB 


J, SECLP 


I loop until key found 


••495 




CALL 


TAPENT 


■ Tap enter to continue 


■ (647 


SECLP4 


(OP 






• •496 




I.D 


A,( 




88648 


SECLP6 


LB 


PL. RECBUF 




• •497 




?:- 




:A-0 ■> bad syntax 


• •649 




CALL 


DSP 


idisplay record 


88498 


SYNEND 


LD 


A, 3 


lend of key(s) reached 


0(650 




CP 


BRXXEY 


■<break>? 


• •499 




CP 


C 


icheck that last key >- 3 


0(651 




JP 


Z, ENDS EC 


■RET if break 


• 0588 




JB 


Z, SYNRET 


lien -3 


00652 




CP 


■1' 


■list cmd? 


• 0501 




JP 


H, SYNRET 


lien >3 


00653 




JR 


NZ, SECLP 




00502 




JR 


SYNER 


ikey <3 so lp to error mag 


• •654 




CALL 


LIST 


illst routine 


00503 


SYNRET 


LD 


A.l 




00655 




CP 


BRKKEY 




00504 
08505 
00586 




RET 




|A-1 ■> proper syntax 


00656 
00657 
00658 




RET 
CALL 

CALL 


Z 

NEWLN 

DLINE 


■no dotted line if brk 








1 HASHKEY 






005(7 








1 


00659 




CALL 


NEWLN 




00506 

• •5(9 

• 0511 








I hash search key 

■search key in XEYBUP 

■triplet hash codes stored in HSHBUP 


00660 
0(661 
((662 


ENDS EC 


RET 


















: NEWSEC 


••511 








■see N3 (index program) for hash algo. 


■•663 








I 


• •512 








■entry: no parameters passed 


• •664 








i transfers logical rec from SINBUF to RECBUF 


■•513 








■exit: len of hsh code stored in WDLEN 


••665 








■entry: NXTREC - byte In SINBUF that is start 


••514 








ireg altered: AT, BC, DE, HL, IX, IY 


• •666 








I of next logical rec 


■•515 


BSHKEY 


LD 


C.I 


■ C - key len 


• •667 








I ex it: A-t no more records 


• •516 




LD 


IY.HSBBUF 


■IY -> search key signature buffer 


••668 








1 A-l more logical records 


■•517 




LD 


IX.IEYBUF 


i IX -> search key buffer 


••669 








1 NXTREC - byte in SINBUF that is start 


•1518 


Has 


LD 


L, (IX»() 


iget char froa search key 


»»67( 








1 of next log rec 


••519 




u 


1,1 


■HL contains char 


••671 








ireg altered: AF.BC.DE.HL 


••521 




LD 


A,L 




• •672 


NEWSEC 


LD 


HL, SINBUF 


■next sector so NXTREC -> start of SINBUF 


•1521 




CP 


• DH 


■end of string? 


• •673 




LD 


(NXTREC) ,HL 




••522 




JP 


Z.HSH8 


■if EOF then end hashing 


• •674 




LD 


DE,RECBUF 


■HL->RECBUF 


••523 




CP 




■blank? 


••675 




JB 


SKIP 




• 1524 




JR 


NZ.HSH4 


■ continue at HSH if not blank 


• •676 


RESTSC 


LD 


HL.INBUF 




• •525 




INC 


IX 


jpt to next char 


• •677 




LD 


DE, (NXTREC) 




• •526 




JR 


HSH3 


■loop until non-blank char reached 


••678 




OR 


A 


■set carry ■ 9 


00527 








mow get first 2 char of key 


••679 




SBC 


HL.DE 




00528 


HSH4 


CALL 


NUHL18 


imult value in HL by 10 


006 88 




JP 


K, NOKORE 


■no more rec in pt'd sec 


• 0529 




LD 


(MBYTE) ,HL 


■store in KBYTE 


806 81 




JP 


Z, NOKORE 




00530 




INC 


IX 


ipt to next char in search key 


00682 




to 


HL, (NXTREC) 




00531 




LD 


L,(IX+«) 




006 83 




LD 


DE.RECBUF 




00532 




LD 


1,1 




0(684 










00533 




LD 


(LBYTE) ,HL 


■store value of char in LBYTE 


• 86 85 


SKIP 


LD 


BC.B 


isklp remainder of char in record 


• •534 




ISC 


IX 


ipt to next char in search key 


886 86 


NNSCLP 


LD 


A,(HL) 


■New Sector Loop 


• •535 

• •536 










1(687 
8(688 




CP 
JP 


■01 
Z.NWSCEI 










■HSHLP 


• •537 










((689 


CP2E4 


CP 


•DB 


i 1 .' ? (pseudo EOR mark) 


• •538 








■get triplet and hash it 


((69( 




JR 


Z.NWSCE* 


■exit loop if EOR 


••539 


HSU LP 


LD 


..(KBYTE) 


iget 10ac2 


• •691 




LC 


(DE) ,A 


■transfer char from SINBUF to RECBUF 


••54* 




CALL 


<HL1( 


issilt by 11 


••692 




:sc 


BC 


line char count (1 of char moved to RECBUF) 


••541 




at 


■BYTE) ,BL 


istore lMacl 


• •693 




LD 


A, 254 




••542 


1 








•1694 




CP 


C 


1 record length max reached? 


••543 




LD 


BL,( LBYTE) 


■get ac3 


• •695 




JR 


Z.NWSCEI 


i EOR if record >- 255 char 


••544 




CALL 


HOBLK 


■mult by 11 


• •696 




DK 


DC 


ipt to next char in RECBUF 


1(545 




LD 


(■BYTE) ,BL 


■store lfac2 


••697 




INC 


HL 


ipt to next char in SINBUF 


•1546 


1 








■•«98 




JP 


NWSCL? 


■loop until EOR found 


■•547 




LD 


A, (IX»0) 


■get char (cl) fro* search key 


••699 


1 








■■548 




nc 


IX 


line IX to next char 


M7M 


NWSCEI 


CP 


•DH 


lend of record 


•1549 




CP 


(DH 


lEOR? 


• •711 




JP 


Z.NWSCE4 




MSSf 




JP 


Z.HSH8 




••7(2 




CP 


254 




• •551 




CP 






00703 




JR 


Z.NWSCE4 




• •552 




JP 


Z,HSH3 


■skip 3 hashes 


00704 




LD 


A,(PSEOR) 




• •553 




CP 


253 


■ and op? 


00705 




CP 


•DH 




• •554 




JR 


Z.HSHS 




00706 




JR 


Z.NWSCE4 




• 0555 




CP 


254 


■or op? 


00707 




LD 


A, '. ' 




00556 




JR 


Z.HSH5 




00708 




LD 


(DE),A 




• 8557 




JR 


HSH6 




00709 




INC 


DE 




00558 


HSB5 


LD 


(IY»0) ,A 


■store op in hash buffer 


0071) 


NWSCE4 


LD 


A.BDH 




00559 




IHC 


IY 


ipt to next byte in hash buffer 


0)711 




LD 


(DE) ,A 




■■Ml 




INC 


C 


line hash buf len counter 


)0712 




INC 


HL 




• •561 




JP 


HSH3 


■loop until end of search key 


M713 




LD 


(NXTREC) ,HL 




• ■562 

• 1563 










■ )714 
(■715 




LD 
RET 


A.l 


■1 -> more record SHOULD THIS BE 1BH??? 








■MM 


8(564 

■•565 
••566 

Msn 


KH 


LD 
LD 


L,A 
1,1 




■■716 
••717 
■•718 
••719 


NOKORE 


LD 
RET 


A,e 


■0 -> no more record 


■hash triplet 










ISX 


MMI 

■ •569 




LD 
LD 


(LBYTE) ,HL 
DE, (KBYTE) 




• •72* 

• •721 




















■search rec in RECBUF for key(s) 


• *57« 




MB 


HL.DE 


ll(ac2*ac3 


••722 








■entry: no para 


••571 




LD 


DE,(FBYTE) 




• •723 








■exit: HIT-1 if key(s) found 


• •572 




all 


HL.DE 


1 lMacl . (I»ac2.ac3) 


•■724 








1 HI-.J if key(s) not found 


••573 




LD 


A, 251 




••725 








■reg alteredi AF.DE.HL 


••57 4 




CALL 


DIVIDE 


■A has nodulo 251 result 


• •726 








■calls: GTKYWD. INSTR, SXTOOR 


• •575 




LD 


(lY.I).A 


istore hash code 


••727 


■ 


La 


HL.KEYBUF 




••576 




: NC 


C 


■lnc hash code len 


••728 




LD 


(NXTXEY) ,HL 


1 (NXTXEY) -> start XEYBUF 


••577 




INC 


IX 




••729 




LD 


A.l 




■ ■578 




n 


HSHLP 


■loop until end of search key(s) 


• ■73> 




LD 


(HIT) ,A 


llnit (HIT) - 1 


• •579 

• •58) 










0)731 
00732 




LD 
LD 


A.l 

(ENDKEY) ,A 


linlt (ENDKEY) -■ 








1HSH8 


• •581 










00733 




LD 


(OPER) ,A 


llnit (OPER) »-and 


88582 


HSH8 


LD 


A,C 


■hashing complete 


00734 




LD 


(NXTOP) ,A 


linlt (NXTOP) 0-and 


00583 




LD 


(WDLEN) ,A 


■save hash len 


00735 


1 








80584 
00585 
00586 




RET 






00736 
00737 
00738 


8X2 


CALL 

CALL 

LD 


GTKYWD 
INSTR 
D.A 


■get 1 key word from search key 
■search for 1 key word 
■temp store result in D 


".LAIS 


NOP 




■ siult 1 in A by It 




0(587 








■BC and DE used 


M739 




LD 


A, (OPER) 


■OPER stores type of oper 


00588 








■value returned in HL 


00740 




CP 


1 


■or op? 


00589 




: d 


B.I 




00741 




JP 


Z.SKOR 




• 0590 




LD 


L,A 




• •742 


SKAND 


LD 


A, (BIT) 


■and operation 


•(591 


HUHLK 


■Of 




■multiply • in HL by IB 


••743 




AND 


D 


■D - (HIT) from INSTR 


((592 




m 


HL.HL 


■HL contains 2"no. 


••744 




LD 


(HIT) .A 


l(HIT) updated 


((593 




LD 


E,L 




•■745 




JP 


SX4 




((594 




LD 


D,H 




■■746 


SXOR 


LD 


A, (HIT) 




((595 




Mi 


HL.HL 


;4 


•1747 




■ 


D 


ID • (HIT) froa INSTR 


MM 




ALL 


BL.HL 


ll 


1(748 




LC 


(HIT) .A 


■(HIT) updated 


((597 




ADD 


HL.DE 


ill 


■•749 


SF4 


LD 


A, (NXTOP) 


1 


((598 




■CT 






••7 51 




LD 


(OPER) .A 


■op bumped 


((599 
11(11 










•1751 
■•752 




LD 
CP 


A.(ERDXEY) 

1 


lend of keys? 








■GETS EC 


• •6(1 
•■6(2 










•1753 
••754 




JP 
LD 


1, SXEND 
A, (BIT) 


lip if end of keys 








iget sector from source file 




• •6(3 








.•entry: no para 


••755 




CP 


1 


lis hit still true? 


• •614 








■exit: sector froa disk In INBUF 


• •756 




JR 


NI.SK7 




• •6(5 








jreg altered: AF.BC.DE.HL 


••7 57 




LD 


A, (NXTOP) 


I HIT-1 


88686 


GETSEC 


LD 


HL.INBUF 


ipt to source file rec buf 


••7 58 




CP 


1 


lis next (OPER) -. or? 


80687 




DEC 


HL 


■HL->last char or record before INBUP 


••759 




JR 


Z, SXEND 


■if so jp to end 


00608 




LD 


A,(HL) 




• •760 




JP 


SK2 


■else check next key 


00609 
00610 




LD 


(B256) ,A 


llast byte of SINBUF 

■save this byte for analysis of records 


00761 
00762 
















■ SK7 


■Mil 








■that span sector 


00763 










• •612 




PUSH 


IX 




00764 








■HIT - ( (search key not found) 


••613 




POP 


BC 


iBC -> input rec to read 


00765 








■skip to next *or" 


0(614 




LD 


(CLRN) ,BC 


■store current LRN 


• •766 








■operator in search key or 


((615 




CALL 


READ2 


■ read two sectors frost sre file 


• •767 








■end of search key 


((616 




CALL 


SECTOR 




((768 


SX7 


LD 


A, (OPER) 


lHIT-«i is next op ■ or? 


((617 
((618 
•Ml 9 




RET 






((769 

00770 
((771 




CP 
JP 
CALL 


1 

Z.SK2 
SXTOOR 


■is next op - 'or*? 

■if 'or* continue search 

isklp until "or" op or 








■SECTOR 




••62( 










((772 








■end of search key found 




■•■21 








.-searches records in sector for key(s) 


((773 




CP 


I 


■end of search key? 


■■622 








istarts with remaining rec in SINBUF 


((774 




J? 


Z, SXEND 


1 If end of search key ]p to SKEND 


••622 








i and reads across Into INBUF 


•1775 




JP 


■3 


■loop until end of search key 


• •624 


SECTOR 


CALL 


NEWSEC 




••776 


SXEND 


RET 




lend of record search 


■ •625 




LD 


DE,(LLRN) 




•1777 








iA-( no on A-l or found 


• •626 

• •627 




nc 

LD 


DE 

HL.(CLRS) 




■1778 
• •779 








1 (NXTXEY) set If A-l 












Listing 9 continued 



216 • 80 Micro, December 1983 




Model 4 
Plus 

• 64K Ram 

• 2 Tandon Drives 

• RS 232 

• Free Software 

Mailing List 
Home Budget 
Loan Amortization 
10 Programs in all. 

• 120 Day Warranty 

• TRS DOS 6.0 Manual 

& Diskette 



Additional 64K Ram $79.00 
with purchase of any computer. 

Prices reflect cash discount 
Visa - Mastercard add 3% discount 

ASHLAND COMPUTER SYSTEMS 

1716 Wilsh ire Blvd. 

Ashland, KY 41101 

Order Line (606) 325-2210 

Mon. - Fri. 10to5E.S.T. -MJ 



EPSON GRAPHICS 

RHODRMINE UT 200 pf»T 

i.37 tOH» :z U S »S :S 4 U 



A 



v. 



FROM YOUR 

BASIOFORTRAN»PL-1«PASCAL 

PROGRAMS 

Grafpec-ao will read data from a diak Ola on your tyatam 
and convert II to a hi-raaolubon plot or graph Grafpac-eo 
plota up to 880 dota acroaa and 1 3J000 dota vertically oo the 
Epaon MX -ao-that » 1 25 pa are" 

Graipac-ao command* Include: clrcla. a&lpaa. two and three 
rlim a n e i onal data, pen up/down, plot/move relative or ab- 
solute, tinaje character or Mring plotnng wtth rotation and 
alee control, border generation, and many mora. . . 

Crerpac-ao « available far CP/M on 8 Inch diak. TRS-DOS 
(Dxxlei I and III) on S'« Inch diak. Requiree 4BK memory. 
TRS-DOS ayaaama need two diak* • 

Pncaa. TRS-OOS I * III . . $41 9S 

CF/M *M.aS 

(Pleaae include S3 00 shipping charge with all order*) 

•A version is available for TRS-DOS users 
with one disk, however, you must send us 
a copy of your TRS-DOS and include 
$10.00 for copying. 

M.E.S.C. 
Parkhurst Drive 
Salisbury. MD 21801 
(301) 742-7333 

The following are registered trademark*: 
CP/M Digital Reaenrch; TRS-DOS. TRS-flO 
Tandy Corp.; MX-aO-Epaon Corp 



^396 



DISCOUNT 

MAIL ORDER 




Computers 

at Guaranteed 

Low Prices* 



TRS -80 


ATON 


EPSON 


HAYES 


NEC 


DYSAN 



Desert Sound, Inc. 

of California 

1-800-835-5247 

Factory Authorized 

Tech. on Staff 

for Many Brands 

TRS - SO la a Rag. Trademark of Tandy Corp. 

•Call for FREE CATALOG 
and Price Guarantee ,,539 

Calif. Res. Call 619-244-6883 



CONVERT YOUR TRS-80 MODEL I, III, OR 4 INTO A 

DEVELOPMENT 
SYSTEM 




Now you can develop Z-80 based, 
stand-alone devices such as games, 
robots, instruments and peripheral 
controllers, by using your TRS-80 as a 
development system The DEVELOP- 
MATE plugs into the expansion con- 
nector of your TRS-80 and adds 
PROM PROGRAMMING and IN- 
CIRCUIT-EMULATION capabilities to 
your system (with or without expan- 
sion interface) 



Complete instructions and sample 
schematics are included to help you 
design your own simple stand-alone 
microcomputer systems THESE 
SYSTEMS CAN BE AS SIMPLE AS 
FOUR ICs one TTL circuit for clock 
and reset, a Z-80. an EPROM. and one 
peripheral interface chip 

When the In-Circuit-Emulation 
cable is plugged into the Z-80 socket 
of your stand-alone system, the sys- 
tem becomes a part of your TRS-80 
You can use the full power of your 
editor/assembler's debug and trace 
program to check out both the hard- 
ware and the software Simple test 
loops can be used to check out the 
hardware then the system program 
can be run to debug the logic of your 
stand-alone device 

Since the program is kept in TRS-80 
RAM. changes can be made quickly 
and easily When your stand-alone 
device works as desired, you use the 
Developmate's PROM PROGRAMMER 
to copy the program into a PROM 
With this PROM, and a Z-80 in place of 
the emulation cable, your stand-alone 
device will work by itself 



The DEVELOPMATE is extremely 
compact: Both the PROM programmer 
and the In-Circuit-Emulator are in one 
small plastic box only 3 2" x 5 4" A 
line-plug mounted power supply is 
included The PROM programmer has 
a personality module" which defines 
the voltages and connections of the 
PROM so that future devices can be 
accommodated However, the system 
comes with a universal" personality 
module which handles 2758. 2508 (8K), 
2716. 2516 (16K). 2532 (32K), as well 
as the new electrically alterable 2816 
and 48016 (16K EEPROMs) 

The COMPLETE DEVELOPMATE 
81. for Model I, with software, power 
supply, emulation cable. TRS-80 
cable, and "universal" personality 
module S329 

DEVELOPMATE 83, Model Ml/4 version, 

same as above $329 

PM2 PERSONALITY MODULE for 

2732A EPROM $15 

PM3 PERSONALITY MODULE lor 
2764 EPROM $15 

Instruments -m 

172 Otis Avenue. Dept M, Woodside, 

CA 94062 

(415) 851-1172 

Master Charge and Visa phone orders accepted 
CaMorma residents please add 6 *o sales lax 



^ SmUttoT Advertisers on Page 291 



80 Micro. December 1983 • 217 



Listing 9 continued 



wrm 

• •781 
•1782 
••783 
••784 
••785 

• •786 

• •787 

• •788 
••789 
••7 91 
••791 
•1792 
■•793 
••794 
••795 
••7 9* 
••797 
••798 
•4T79* 

• •■(• 
••Ml 

• •8(2 

• •8(3 

• •8(4 

• »S«5 

• •8(6 

• •8(7 

• •8(8 

• •8(9 

• •811 
••811 
••812 
••813 
•••14 
•(BIS 

• •81* 

• •817 
lli.i 
•••19 
H-.li 

Man 

• ■•22 

(•823 
••824 
t»825 
••826 
••827 
••826 
••829 

• •831 
••831 

• •832 

■ •833 
••834 

• •835 

• •836 

• •837 

• •838 

• •839 

• •84( 
••841 
••842 
••843 
••844 

• •845 

• •846 

• •847 

• •848 

• •849 
88859 
98851 

• 8852 
88853 
88854 
••855 
88856 
M857 

• •858 
••859 

• •861 

• •861 

• •862 

• •863 

• •864 

• •865 

• •866 

• •867 

• •868 

• •869 
•••7( 
••871 
••872 
•■873 

■ •874 
■•875 

• •876 
•1877 
••878 

• •879 

• •881 

• •881 
•••82 
f i i - :■ 
••884 
•••85 

• •886 
••887 
li--- 
••889 

• «SS« 
••891 
••892 
•••93 

• •894 

• •895 

• •896 

• •897 

• •898 
••899 
•MM 
••9«1 
••9*2 
••9«3 



• •919 

• «91» 
••911 

•1912 
••913 
■■914 
••915 

• •916 
•1917 
••918 
88919 
••921 
••921 
••922 
•1923 
••924 
••925 

• •926 
•■927 

• •928 

• •929 
M93I 

• •931 



GTKYWD LO 

LO 

NTCHAA LD 



HL,(HXTKEY) 

DE.IEY 

A.(HL) 

Ma 

i, toners 

251 

I, 



WJEB !»C 




;get nest key word t torn search key 
icntry: RXTKEY->start of neat key word 
i eslti ENDKEY-1 if end of search key 
I EKDKEY-* If sure key words In 

I search key 

ireq altered: AF.DE.HL 
;HL -> neit key Co read 
IDE -> word Duffer 

lend of keys? 



lloop until end of keyword 

:HL->ne«t keyword or end of search key 

I EOR Bark 

i load with • - and op 

iHL->nest keyword or end of search key 
lEOR sark 

.-place to at end of key 

: end of keys 



isrrooa 



MM 
SETS 
•KM 



HL, (NXTHEY) 

A,(HL) 

•DH 

I.SET4 

254 

I, SET* 

«L 



.'.XTKF • ,HL 

■VI 

(OPER) ,A 



iskip to "or" operator 

ibypasses keywords that are "ended" 

l entry ■ 

lesiti HXT»ET->next key word in search key 

l 0PER*1 if "or" op found 

I OPE*-* if end of search key 
leiit points: SET6.SET8 

ireo, altered: AF.DE.HL 

icalls< none 

lHL->start of nest key word 

lend of search key? 

Ijp to STE4 If EOR 

i ■or •? operator? 

ijp to SET* If "or" 

ipt to neit char in keyword 

lloop until EOR or or op found 

,A-» ■> EOR found 

II -> OR found 
Ihawe HL -> nest key 



ll - or 

I load (OPER) - o 

lA-l -> "or" op 



I I NSTR 



(■•arch RECORD for key 
jentryi no para passed 
leslt: A-l keyword found 
I A-8 keyword not found 

ire? altered: Af.BC.DE.riL 



ta 


HL,AEC»UP 


MM 


■L 


LD 


DE.IEY 


LO 


C.f 


v-p 




IX 


A, (DEI 


LC 


B.A 


LC 




CP 


91 


JP 


P.CO» 


JP 


I, COS 


CP 


• 5 


JP 


H.BQTUC 


-s 


32 


JP 


COX 


CP 


• DH 


JP 


I.ROrXRD 


CP 


■ 


.IP 


I.CHATCR 


JP 


RESIT 


ISC 


C 


INC 


HL 


ISC 


Dt 


■a 


A, (DC) 


CP 


•m 


JP 


z.rzvvz 


-•p 


HLP 


LO 


DE.IEY 


•a* 


■L 


IWC 


■ 


MM 


m 


LO 


C,l 


JP 


■LP 


PC? 


HL 


II 


».l 


PET 




PC? 


HI. 



IBaln subroutin 



lend of string? 
icp to key char 



ichar Batch 



READ2 LD 
READ2R CALL 

PUSH 



(A • 1 •> print rec 

|A ■• ■> do not print rec 

:READ2 

I reads 2 sectors fro* arc file 

.-necessary to read 2 since record 

i span sector 

leatry: BC-> 1st sector to read 

iczlti 

iget first sector 



.:L,IS» F 

ocsixeir 

SC.2S* 



A, (EOT) 

1 

MI, READ 2D 

HL.IMUT 

RECBL 

HL.IMBUP 

(HL) ,IDH 

BC 



READ2D POP 
IMC 
CALL 

Ml 



REDIM* LD 



I skip DSPSKR sub 



••932 




CP 


21 


••933 




JP 


HI , ERROR 


• •934 




Jfi 


RED0C2 


•••35 


1 






• •936 


REAOIH 


LD 


DE.INDCB 


••937 




CALL 


READOR 


••938 


REDIN5 


MM 


AT 


••939 




JR 


I, REDO* 


• «94« 




a 


21 


••941 




jp 


HI, ERROR 


• •942 


REDO! 


CALL 


DSPSNR 


••943 


REDOR2 


LD 


HL, IIDCBCR) 


••944 




LD 


DE.(IHLLR) 


• •945 




xoa 


A 


• •944 




MC 


HL.DE 


• •947 




JP 


n.READRT 


mil 


1 






••949 




LO 


A, (IDCBOS) 


••95> 




CP 


■ 


■•951 




J? 


I.REDIHI 


••952 




LO 


■L.iBBtjr 


• •953 




LO 


0,1 


••954 




LO 


E.A 


M955 




.'_.. 


EL.DE 


M954 




LO 


E.A 


••957 




LC 


A, 255 


• •951 




Ml 


1 


••959 




:*c 


A 


MM! 




LD 


E.A 


••961 


AEDIH7 


LO 


A»' ' 


MM 2 




u> 


(BL).A 


MM1 




LO 


A.E 


MM4 




CP 


■ 


MMS 




JP 


I, REDIM 


MM* 




DEC 


* 


• •967 




ISC 


■ft 


• •9*1 




m 


REDIH7 


MM* 


«n> ml 


LO 


■L.IbbDTU 


••971 




LO 


(EL) .SOB 


• •971 




DEC 


■L 


• •972 




LO 




••97 3 








■(974 




LC 


A.l 


M975 




LO 


(EOT) .A 


••976 


RSAsrr 


k; 


m 


M97? 




RET 




Mt7t 














••979 








Mill 








••911 








••9(2 








• •981 








88984 


RDHSEC 


PUSH 


BC 


• •985 




PUSH 


HI, 


••986 




M> 


BC 


••987 




LD 


DE.HAPDCB 


• •988 




CALL 


READDR 


• •989 




PCP 


BC 


• •991 




PET 




• •991 




RET 


I 


• •992 




P'JSH 


■T 


• •991 




LD 


HL.RDHSG 


••994 




CALL 


VDLIRE 


••995 




m 


AT 


••996 




jp 


ERROR 



11997 

• •998 

• •999 

urn 
■i)ii 

• ll*2 

• 1M3 
11114 

• 1115 
IIII6 

• 1M7 

• !••• 
■1M* 

• !•:• 

mil 

• 1112 

•i*ii 

• 1*14 
•HIS 

■lilt 

11117 

• 111! 

• 1*19 

• 1)21 
•1)21 

• 1122 

• 1123 

• 1(24 

• 1125 

• 1121 

• 1127 

• H2« 

• 1*29 

«;»i« 

•mi 

• 1(12 
11(11 
■1114 

• 1*15 

• 1(11 

• hi; 
mil 

(1(19 
•1*4* 

• 1(41 
(1*42 

• 1(41 

• 1*44 

• 1*45 
(1(46 
•1*47 

• 1(41 
•1*49 

mil 
•1*51 

• 1152 

HIS) 
•1»S4 

• 1*55 

• 1*56 

•1*57 

• 1*51 

• 1«59 

I1HI 

• 1*61 

• H62 

• 1(61 

• 1(64 

• 1165 

• 1(66 

• 1*67 

• 1*61 

• 1(69 

• 1*7* 

• 1*71 
■1*72 

• 1*71 

• 1*74 

• 1*75 

• 1*76 

• H77 



OUTREC LD 



OOTHSG Dtp* 
DEP1 

nc on 

TDE DETM 

THL DEPW 



I last sector 



byte* to blank out 



while reading HAP lndei file 



(TBC) ,BC 

(TDE) ,DE 

(T»L) ,HL 
CURPOS 

(CURSOR) ,BC 

B.l 

C.55 

PC SCO? 

■ L, OOTHSG 

VDLin 

BC, (CURSOR) 

POSCUR 

i:L,S£CHJ? 



I OUTREC 
(output record 

ireturn 11 fill doled 




ijp to error asq 



file so proeraa Bay continue 



CURPOS 
(CURSOR) ,BC 
».• 

C.55 

POSCUR 
ERAS EL 

BC, (CURSOR) 
POSCUR 
•C.(TBC) 
DE.(TDE) 

•L.(TIL) 



PUSH 


DE 


PUSH 


■L 


LD 


HL.(IDCBCR) 


LD 


A.L 


CP 


• 


JP 


HI.rPOSHI 


CP 


■ 


JP 


I.PPOSI 


SOP 




DEC 


HL 


LD 


(IDCBCRi ,HL 



ibackip 1 sector in 



Listing 9 contnued 



218 • 80 Micro, December 1983 



SUPER FAST! 

Z80 

DISASSEMBLER 



*69 95 



Two pass operation - 
generates labels at 
referenced locations 

Generates Zilog 
mnemonics 



Allows 
labels 



user defined 



• Output to console, list 
or disk device(s) in any 
combination 

• Generates mnemonics 
for CP/M system calls 

• Illegal instructions 
generate define byte 
sequence 



Start and stop at any 
location in file 

Source or complete 
listing type output 



• Allows define byte, 
define word and define 
space directives 

• COMPLETE cross- 
reference 

• 28 page manual 

SPEED - disassembles a typical 1 7K . COM file, 
generating a 1 10K Z80 file (over 10,000 lines of 
source) and a 52K XRF file in less than 1 minute 
45 seconds using standard bios and 8" SS/SD! 
Available for Z80 CP/M and TRS-80 III 

L R Systems— 

1622 North Main Street, Butler. PA 16001 
(412) 282-0864 .340 

Terms add $2 shipping US, others $5 PA add 6% sales tax. 
Specify format required Check. MO, Visa. M/C. COD accepted 

Z80. CP/M TRS-80 TMs of Zilog. Digital Research Tandy Corp resp 




MODEL III 



MODEL 4 




State of the an: technology m board design, our direct replacement of Radio Shack's* 
internal RS 232 board, mounts inside the Model "I or 4 on the existing brackets All 
cables, screws and complete mounting instructions ant included. Non-technical 
people will find that installation is quick, straight forward and simple requmng less 
than 1 5 minutes to complete 

Total compatabili'y with Radio Shack* and all existing software is maintained 
Software programmable baud rates from 50 to 1 9,200 baud are supported along with 
programmable word length, stop bits, and panty May be utilued in either half of full 
dupie« operation _ _ „ , 

Outstanding Value 

At 
Only 

Guaranteed One Full Year 
Dealer mguir.es invited 



»69.»5 



4831 SOUTH HAMPTON RO IB4' 
DAllAS TEXAS 7S232 



- n 



Please forward payment by a cashier 
check or money order 

Visa or Mastercharge also accepted 

Add $3 00 shipping & handling 

(Foreign orders quoted on request) 



WHAT REALLY IS 
INSIDE YOUR 
COMPUTER? 



Find out in INSIDE YOUR COMPUTER from Wayne 
Green Hooks. I.R. Sinclair takes the cover off your comput- 
er and shows you what's inside and what it does. Novices 
will find information on: 

• Microprocessors •Input/output 
•Interpreters "Machine language 

• Registers • Logic operations 

A look at programming lies it all together— how .hardware 
and software make a microcomputer work. The informa- 
tion applies to any microcomputer system. A glossary of 
computer terms and an appendix on binary, decimal, and 
hexadecimal conversion make the book all the more 
valuable. 

812.97. softcover. 109pp. 5'/4 x8W. ISBN «*0-880Or>058 1 

r«il I TOLL FREE 1 -800-258-54 7 3 for credit card orders. Or mail your 
order with payment or complete credit card Information. Include 81.50 

!< it Shipping and handling. Photocopy of coupon I. acceptable lor ordering 



Send to: 

Wayne Green Inc. 
Attn: Book Sides 
PetertxwTxigh, NH 03458 
Deale* Inquli lea Invited 




Yes, I want to know what's inside my 

computer! 

Send me copies of INSIDE YOUR COMPUTER. (BK7390) En 

closed is SI 2.97 per copy plus 81 .50 shipping and handling. 

Q MASTERCARD bank » L.VISA LAMEX 






Signature 

Name 

Address 

C*J Stale and Zip . 

Send To WAYNE GREEN BOOKS Aim BookSairs 
UI*S Delivery If complete street addrem » given 



Peterborough. N It U'345* 

33DB8I 



»- See Ust or Advertisers on Page 291 



80 Micro, December 1983 • 219 




an innovative word processing system 

80 X 24 character 
word processing 



NEW 



■ Use with any Model III DOS or TRSDOS 6 

■ Compatibility with 64 character version 

■ simple, powerful, forgiving; new computer owners 
can easily master its one-key editing commands 

■ special purpose extensions available: 

LAWYERS: make fast revisions to legal documents 
with LazyDoc 

BUSINESSES: let LazyMerge print beautiful form 
letters after you've gone home 
EVERYONE WITH AN EPSON OR PROWRITER 
PRINTER: create and print your logo or letterhead 
with LazyFont large selection of free fonts and 
graphics to get you started 

PLUS OTHER EXTENSIONS - SEND FOR FREE 
INFORMATION. All Lazy Writer owners get free news- 
letters and low priced updates 

"Lazy Writer has long been highly regarded ... the best 
supported word processor for the TRS-80." 
80 Micro, June 1983. 

DEALER INQUIRIES WELCOME 

Still only $175.00 



AlphaBit Communications, Inc. ^476 



Call Now! 
MC/Visa 
accepted 



13349 Michigan Ave. 
Dearborn, Michigan 48126 
(313) 581-2896 



220 • 80 Micro, December 1983 



Listing 9 continued 






■117 6 




CALL 


DSPSNR 




• 1179 




POP 


DE 




• 1886 

• 1(81 
■ 1(82 

tun 

• 1184 




RET 












iSEAHSG 








idlaplay 'Searching' mag 


■MM 


SEAMSG 


POSH 


DE 




11886 




POSH 


HL 




81887 




CALL 


BOHE 


icliel 


81888 




LD 


HL.HSGSEA 


I 'Searching'83 


81889 




CALL 


VDLINE 




81898 




CALL 


NENLN 




81891 




POP 


HL 




81892 




POP 


DE 




81893 
81894 
81895 




RET 












l MENU 12 


81896 










81897 








imlnl-menu routine 


81898 


HEKU62 


CALL 


HOME 


irlicl 


■1MB 


KEHIK2B LO 


HL,HSGH2 




81188 




CALL 


VDLINE 




11181 




CALL 


KBHAIT 




81182 




m 


5, A 




81183 




CP 


•C" 




■1184 




RET 


1 




81185 




CP 


•0' 




81186 




JP 


t,K20PT 




81187 




CP 


•T' 




81188 




JP 


Z.M2CMD 




81189 




CP 


'H' 




81118 




JP 


Z,M2CKD 




81111 




LD 


A, 'O' 




81112 




RET 




l return to Enter Key 


81113 


N2CXD 


PUSH 


AP 




■1114 




LD 


A, (Of STAT I 




•1115 




CP 


■ c . 




• 1116 




JP 


I,H2CHD3 




81117 




LD 


DE.OCTDCB 




61118 




CALL 


CLOSE 


icloee output file 


•111* 


H2CKD3 


CALL 


VDIHIT 




61128 




CALL 


VDCLS 




61121 




POP 


AP 




11122 




CP 


•?■ 




61123 




RET 


I 




61124 




LD 


8L,HAPCW> 




61125 




RET 




lA • •»• io aet up buffet 


61126 


N20PT 


HOP 






61127 




CALL 


OH 


loptlona 


61126 




LD 


A.'O' 




61129 




PET 






81136 
61131 










OPHOUT 


HOP 


;op*r. 


output file 


61132 




LD 


A, ( Or STAT) 




61133 




CP 


•O' 




•1134 




MR 


I 




61135 




LB 


DE.OUTDCB 




61136 




LD 


HL,ODTBUP 




81137 




LD 


B,l 




81138 




CALL 


OPINIT 




81139 




JP 


Z,0POUT4 




81146 




PUSH 


AP 


; err or in opening file 


81141 




LD 


8,PENULN 




61142 




LD 


C.I 




81143 




CALL 


POSCUR 


terror sag on penultimate line 


81144 




PCP 


AT 




61145 




CALL 


ERRDSP 




61146 




CALL 


BOTTOM 


;tap ent mag on bottoet line 


•1147 




CALL 


TAP EST 




• 1148 




LL 


A, 'C* 




•1149 




LC 


(OPSTAT) ,A 




•115* 




RET 






•1151 


OPOUT4 


LD 


A.'O" 




• 1152 




LD 


(OPSTAT) ,A 




61153 




RET 






81154 
81155 










PARPOR 


MOP 




iparagraph format 


81156 




LD 


A.2EH 




81157 




LD 


HL.CP2E2 




61158 




INC 


HL 




61159 




LD 


(HL).A 




61166 




LD 


HL.CP2E4 




61161 




INC 


HL 




•11*2 




LD 


(HL).A 




•1163 




LD 


(PSEOPO ,A 




61164 




LD 


A, 'L 1 




81165 




LD 


(SDHOOE) ,A 


idiaplay node - line 


•1166 




LD 


HL.MSGPP 




81167 




CALL 


VDLINE 




81168 




RBT 






61169 
81178 










RECFOR 


HOP 




; record format 


81171 




LD 


A.BDfl 




81172 




LD 


HL.CP2E2 




81173 




IK 


HL 




61174 




LD 


(HL) .A 




61175 




LD 


BL.CP2E4 




61176 




INC 


HL 




61177 




LD 


(HL) ,A 




•1176 




LD 


(PSEOR).A 




61179 




LD 


A, •«• 




61186 




LD 


(SDMODE) ,A 


jdisplay mode - record 


81181 
81182 


( 


RET 






61183 


DEPSNR 


NOP 




idlaplay aector number 


81184 




PUSH 


BC 




61165 




POSH 


DC 




61186 




MM 


HL 




61187 




PUSH 


IX 




61168 




PUSH 


IT 




HIM 




CALL 


CURPOS 




• 119* 




LD 


(CURSOR) ,BC 


leave current curaor poa 


• 1191 




LD 


K,ll 




•11*2 




CALL 


POSCOR 


irlicl2 


11193 




LD 


HL.IIDCBCR) 


/LRL 


81194 




CALL 


DSPNBR 


idlaplay no. 


81195 




LD 


BC, (CURSOR) 




81196 




CALL 


POSCUR 


ireatore cursor 


81197 




POP 


IY 




61198 




POP 


IX 




•1199 




POP 


HL 




61266 




POP 


DE 




•12*1 




POP 


BC 




•12*2 
• 1263 




RET 






61264 


LSTSEC 


DEFW 




llaat aect no new atorage 


81265 








ibeyond this point 


81266 


CMSEC 


OEFW 


1 


■current HAP sector 


612(7 


NXTHAP 


DEPH 


a 


meat map page 
llaat map byte 


(1288 


MAX MAP 


DEPW 


a 


81269 


TBYTE 


DEPB 


1 


1 total hash byte 


61218 


TTBYTE 


DEPB 





i temp total hash byte 


• 1211 


WDLEN 


Dt'FB 


I 


jhash word len 


(1212 


HIT 


DEPB 




il -> «ey(a) found 



Listing 9 continued 






• 1211 


KXTKEY 


DEFW 


f 


miit »ey in EEYBUP 


■1214 


OPER 


DEPB 


t 


(operation ••andi i-or 


11215 


NXTOP 


DEKB 


• 


ineit operation 


• 1216 


ENDEE* 


Dire 


• 


■1-end of keys reached 


• 1217 


CLRN 


DEFW 


8 


■current LRN 


• 1218 


llrn 


Mm 


8 


llaat LRN 


• 1219 


SPWORD 


DEFB 


1 


■ ISIpace or (W)ord 


■122* 


EOT 


DEFB 


8 




•1221 


MODE 


DEFB 


9 


;liat or search aode 


•1222 


SDHODE 


DEFB 


• 


■search display aodei line, rec, all 


• 1223 




DEFB 


8 


I EXTRA 


•1224 


PRHODE 


DEFB 


'X' 


■output aode (C)ontlnuoua or (H)anual 


•122S 


OPCOHD 


DOT 


■C 


(output file: (C)loae, (R)eset or (A)ppend 


•122C 


OP STAT 


DEFB 


«c« 


■output file statuai (CJloaed or (O)pen 


• 1227 


OHODE 


DEFB 


'H' 


■output aode (C)ontlnuous or (H)anual 


• 122> 


B256 


DEKB 


8 


■storage last byte SINBUP 


• 1229 


LINENR 


DOT 


I 


■ line nuaiber for DSP 


• 123) 


NINSET 


DEFB 


2 


■no. of spaces to inset 


• 1231 


SINSET 


DEFB 


1 


■storage for inset 


• 1232 


PS EOR 


DEfB 


BDH 


■pseudo EOR 


• 1233 


1411 








• 1234 


CPILE 


DEPS 


* 


■ current file name iiiiiikI 


11233 


NXTREC 


DEFW 


• 


■aba poaition of next rec 


• 123C 


SINBUP 


DEPS 


2M 




■1237 


IBBOP 


DEPS 


255 


■second source bnf 


•123* 


ibbopb 


DEFB 


• 


■ byte 234) of XJBuT 


•123* 


ibbupo 


DBPB 


m 


■and of record Bark 


•1241 


rbcsop 


DIPS 


at 




•1241 




DEP1 


IDE 


■EOR aart 


• 1242 


HAFBOP 


DEFS 


256 




•1241 




DEFB 


• DB 




• 1244 


OOTBDP 


DEFS 


256 


■output buffer 


• 1245 




DEFB 


8DB 




• 1246 


OPNAHE 


DEFB 


BDH 


■output file naae 


• 1247 




DEPM 


, 




• 1248 




DEFB 


i?DH 




• 1249 


HSHBUF 


DEFS 


M 




• 1251 


KEYBUF 


DEFS 


M 




• 1251 




DEPH 




intra space if needed!! 


• 1252 




DEFB 


1 : | 




• 1253 


•3D 


MM 


si 




• 1234 




DEPB 


■ DH 




• 1253 


KSGPF 


DEE* 


'Paragraph Fora 


at' 


• 1256 




DEPB 


8DH 




• 1257 


HSGRF 


DEFH 


'Record Foraat 




• 1258 




DEPB 


BDH 




• 1259 


MSGOP 


DEPH 


•PILES OPENED' 




01261 




DEPB 


BDH 




01261 


HSGEOP 


DBPH 


'END OF PILE' 




• 1262 




DBPB 


•DB 




81263 


HAPCHD 


DEPH 


'HAP' 




• 1264 




DEFB 


•DB 




• 1265 


CODE 


DEPH 


'HIHDEX 1.2' 




• 1266 




DEFB 


• DB 




• 1267 


TITLE 


DEPH 


'HAP SEARCH PROGRAM 1.2' 


• 126 8 




DEPB 


3 




• 1269 


CPTBSO 


DEfH 


Mel Copyright 


1983 Softshell' 


• 127« 




DEFB 


3 




• 1271 


THREE 


DEFB 


'Each kay aust 


contain at least three ' 


• 1272 




DEFK 


'charactara' 




• 1273 




DEFB 


SDH 




81274 


HSGNAH 


DBTH 


'File Nana! ' 




81275 




DEFB 


3 




81276 


PNEHSG 


DEPH 


'Error In file 


name format ' 


81277 




DBPB 


•DH 




81278 


MSGM2 


DEPH 


' (C)hange Pile 


(H)AP, (O)ptiona or (T)RSDOS: ' 


• 1279 




DEFB 


•3 




BUM 


HAPRD 


DEFK 


'HAP READ COMPLETE' 


• 1211 




DEFB 


• DH 




■ 1282 


HSGfEY 


DEPH 


'Enter Eay ' 




• 1283 




DEFB 


3 




• 1284 


HSGSEA 


DEPH 


'Searching ' 




•1285 




DEPB 


3 




• 1286 


QINSET 


DEPH 


' Inset ' 




81287 




DEFB 


3 




■ 1288 

■ 1289 
>129( 


CURSOR 


DEFW 


• 


■curaor position 








Ibuffara used by 83 


81291 
81292 








■general purpose variables 


■ 1293 


ANSWER 


DEPB 


8 


■one byte key In variable 1Y/N etc) 


• 1294 


OlDLPS 


DEPB 


3 


■ ad line file spec (Y/N) 


• 1295 








vindicates whether file spec 


• 1296 








■was entered along with HIHDEX cad 


• 1297 








■bash routine variables 


• 1298 


rBYTE 


DEFW 


8 


■hash value of first byte of triplet 


• 1299 


MBYTE 


DBPW 


8 


■hash value of aiddle byte of triplet 


fUM 


LBYTE 


DEFW 


8 


■haah value of laat byte of triplet 


81381 


SCROSS 


DEFB 


8 


■sector cross variable 


81382 








■if • then sector boundary is not 


81383 








■ crossed by a record 


81384 








■if >• then the vslue In SCROSS 


81385 








■Is equsl to the no of bytes in record 


■ 1316 








■prior to end of sector 


81387 
813(8 
• 13(9 


BICT 


DEFB 


1 


■bit points to sector (> # to 7) 


' 






■HEADER buffer 


• 1311 

• 1111 
















■byte label purpose 


• 1312 








■ 8- 9 HSEC 'HIHDEX' and version 


• 1313 








.•18-18 IDH 


• 1114 








■11-11 HSECPF foraati (DH record 


• 1115 








V '.' paragraph 


• 1316 








■12-19 blank (for future use) 


• 1317 

• 1318 
81319 








■2«-43 HPN source file spec 




END 


BEGIN 





UNITED SOFTWARE 
ASSOCIATES 

PRESENTS 

ULTRA TERM 

A FULL FEATURED TERMINAL PROGRAM 

The Ultra Term communications package is one of the easiest to 
use and most versatile communicatior.s programs available for the 
TRS-80 It includes a full featured intelligent terminal program, with 
all the popular features of competing programs costing two to three 
times as much, and some new features that can't be found 
anywheie else at any price Ultra Term also includes a self 
relocating host program, and hex conversion utilities for bulletin 
board downloading Some of Ultra Terms unique features are: 

• Supports both manual and auto dial modems 

• Exclusive Ultra Term direct to disk file transfer mode, allows 
unattended operation at the receiving computer 

• Exclusive split screen feature allows simultaneous two way 
communications without confusion 

• Line printer support with a 1 K print buffer 

• Half and full duplex support 

• Universal ASCII format file transfer with a 33K Buffer 

• A full featured host program 



• ULTRA TERM 


$59.95 


• LYNX MODEM 


$249.00 


• INFOEX80 


$99.95 


• ANCHOR 1-300 


$89.95 


• M-TERM 


$69.95 


• HAYES 300 


$249.00 


•COMMBAT 


$44.95 


• HAYES 1200 


$619.00 


• PIANO SOFTWARE 


$34.95 


• US ROBOTICS 




• ORCHESTRA 85/90 


$89.00 


1200 


$399.95 



ORDERS 305/965-349b BBS 305/842-2687 
TECHNICAL INFORMATION 305/842-8805 (5 00-9 (M) E ST.] 

734 Flamingo Wav. North Palm Beach. FL 33408 



AAAAAAAAAAAAAAAAAAAAA 
A OMNITEK COMPUTERS INTERNATIONAL, INC A 
1 300 MAIN STREET TEWKSBURY, MASS 01 876 
617-851-4580 -195 



Program Listing 10. Assembly-language listing of S30OPEN/SRC. 



88883 

■ •••4 

■ 8885 
88886 

• •■■7 

• 8886 



■SEARCH INPORHATION RETRIEVAL PROGRAH 

; ROUTINE TO OPEN PILES 

■ COPYRIGHT Us3, SOfTSHEU, CORPORATION 



ALL RIGHTS RESERVED 



S30PEN PSECT 



■begin relocatable prograa sectio 



Listing 10 continued 



A 

A 
A 

* 
A 
A 

A 
A 
A 
A 
A 
A 
A 

A 
A 
A 
A 
A 
A 
A 
A 
A 

A 
A 

A 
A 

A 
A 

A 



CWM CALL 

Verbatim 5.2 5 " D.L 2 5.00 

5 tt " Head Cleaning Kits 4.00 each or 3 fax $ 1 0.00 

Okldata Mtcrollne 80 299.00 

OUdau Mlcrollne 82A „..399.00 

Okldata Mlcrollne 83 A 629.00 

OkkUta Mlcrollne 92 ( 1 60 UM) corresponds mode 499.00 

Okldata Mlcrollne 93 799.00 

New BMC Printer 299.00 

1 3" Green Monitor 99.00 

B.M.C. 13" Color Monitor 299.00 

Epson FX 80 FT 539.00 

Epson MX- 1 00 629.00 

Radio Shack M/4 w 64 K 999.00 

Radio Shack M/4 w/64K and 2 40 Trk 1 699.00 

and RS232 „. 1 787.00 

40 track economy drive Power Supply with case 1 79.00 

Tandon drives with Power Supply and case 

40 track sbiglehead 249.00 

dual head 339.00 

80 track singlehead 299.00 

dual head. „ 399.00 

5 .25" Power Supply and case 39.00 

"BASF 40 track D.D. 5M" new disk drive, as Is, 

no i*tiam , ,„,, , , 89.00 

8" Power Supply and case 89.00 or 1 for 790.00 

Call for popular D.W. Printer Prices 

Full Commodore Line CALL 

OMNITEK COMPUTERS INTERNATIONAL, INC. 

TRS-80 is a reg trademark ol Tandy Corp Prices are lor mall order only TERMS 
Check money order. Mastercard and Visa accepted P O B Tewksbury-freight e« 
ira Minimum J 5 00 S 8. H Mass residenis add 5% sales lax Write lor fRU 
CATALOG 



A 
A 

A 
A 

A 
A 

A 
A 
A 
A 
A 

A 

A 

A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 
A 



^•^R 9^9 ^^9 ^^9 ^■■v ^■W ^^9 ^p^R R»^R ^p^R R>^R R*^R ^p^R R^W R*^R ^*^R ^*^B R*^R 9^9 R»^R 9^9 



80 Micro, December 1983 • 221 



Listing 10 continued 



f(f(9 
Hilt 
•fill 
•1(12 

• 1)13 

• ••14 
IM1S 

• ■•16 

•••n 
one 

• ••19 
98929 
•••21 

• ••22 
•1(23 

• ••24 
•••25 

• ••26 

• ••27 

• ••28 

• ••29 
■ Mil 
•••31 

• ••32 

• ••33 

• ••34 

• ••35 

• ••36 

• ••37 

• ••38 

• ••39 
(»I4( 

• ••41 

• ••42 

• ••43 

• ••44 

• ••45 

• ••46 
•••47 
•••48 

• ••49 
•••51 
•••SI 
•••52 
•••53 

• ••54 

• ••55 

• ••56 
•••57 

• ••58 

• ••59 
B886B 

• ••61 

• ••62 

• ••63 

• ••64 

• ••65 

• ••66 

• ••67 

• ••68 

• ••69 

• ••7> 
•••71 

• ••7 2 

• ••7 3 

• ••7 4 

• ••75 

• ■•76 

• ••77 

• ••78 

• ••79 
99888 

• ••81 

• ••82 

• ••83 

• ••84 

• ••85 

• ••86 

• ••87 
•••88 
•••89 
•••9> 

• ••91 
•••92 

• ••93 

• ••94 

• ••95 

• ••96 

• ••97 

• ••98 
•••99 

etna 
••lti 

• 1182 

99193 

•ei>4 

• •115 

• •1(6 
••1(7 

• •lt8 
8(189 

• •lit 
••111 

• •112 
••113 

• •114 
••115 

• •116 
••117 

• •118 
•1119 

• •121 

• •121 

• •122 

• •123 

• 8124 

• •125 

• •126 

• •127 

• •128 

• •129 

• •139 

• •131 

• •132 

• •133 
••134 
••135 
••136 
••137 

• •138 

• •139 
81148 

• •141 
••142 

• •143 

• •144 

• •145 

• •146 

• •147 

• •148 

• •149 

•aisa 

• •151 

• •152 
•1153 

• 8154 
II l« 

• •156 

• •157 
••158 
••159 



P08LIC GETPILE 



EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 



CODE 

INBUP 

KEYBUP 

NAPBUr 

LSTSEC 

MAX HAP 

KEHU(2B 

NXTNAP 

OP NAME 

PARPOR 

RECTOR 



EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 



EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 

EXTERN 
EXTERN 
EXTERN 

EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 



BOTTOM 

CLOSE 

CURPOS 

DIS8RK 
DIVIDE 
DOSCKD 
ERASEL 
ERASES 
ERRDSP 



KBLIN3 
KBLINE 
XBHAIT 
KEY I* 
NOVELN 



POSCUR 

POSEOP 

POSN 

PRINIT 

PRUNE 

PRSCN 

PRTBLN 

PRTREC 

READDR 

SETILR 

SETMLR 

STHEND 

VDCHA* 

VDCLS 

VDINIT 

VDLINE 

KRITKX 



EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 



EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 



INDCB 

IDCBRL 

IDCBCR 

IDCBLR 

INLLR 

IDC BOS 

HAPDCB 

HDCBRL 

HDCBCR 

HDCBLR 

KAPLLR 

HDCBOS 

NEMEND 

OUTCHR 

OUTDCB 

PRTBOP 

SORLN 

STHAP 



ARROW) 
ARRONL 
ARROWR 
ARROW 
BRKKEY 
CPYPOS 
PENULN 
SWIDTH 



EXTERN 




EXTERN 


BXDEC 


EXTERN 


DECXB 


EXTERN 


DLINE 


EXTERN 


DSPNBR 


EXTERN 


DSPNBRL 


EXTERN 


EATBNX 


EXTERN 


PSPEC 






EXTERN 


LINE 


EXTERN 


PACKPS 


EXTERN 


PARSEP 


EXTERN 


RECt 


EXTERN 


RECBL 


EXTERN 


TAPENT 


EXTERN 


SNAM.SE 



■ cad line 111* spec (Y/H) 

I Indicate* whether file spec 

■along with SEARCH end 



alls to HODII or NODIII 



■position cursor to last line of screen 

iclose file (DE->DCB) 

■•determine cursor pos (coor:8C) 

■disable break (for Model II) 

;divide A into HL 

; IP to TRSDOS and execute command 

;erase to end of line 

;MAP error display routine 

iTRSDOS error mag routine 

■position cursor to top line of screen 

[initialise file (create/open, pos to 1st 

l (DE->DCB, HL->rec buf) 

l]p to TRSDOS 

iget char (or null) froa Keyboard 

linitlallse keyboard (Hod II) 

;get line froa keyboard and end with 13 

iget line froa keyboard and end with BDH 

iwait for char froa keyboard 

■ get search key(s) form keyboard 

,-aove line froa screen to buffer 

;HI.->tuf, D-no. char, BC-cursor coor 

.-open file (DE->DCB, HL->record buffer) 

lopen and Initialise file 

I (DE->DCB, HL->record buffer) 

;posltion cursor (coordinates in BO 

.-position to end of file 

iposltion to record in file 

i initialize printer 

: print line (HL->buf, B-no, 

;prlnt entire screen 

iprint last line of text 



C-end char 



ead fll 
et INLRR t 
et HAPLLR 



dir 



■display char in A register 

.■clear screen 

■initialise video I/O (for Model II) 

.-display line (RL->msg) 

[write next record to file 



,-HODII/III buffers and I/O paraa 

.•INput (sourcelfiie'DCB " 
l Input file DCB Record Length 
.•Input file DCB Current Record 
.-input file DCB Last Record 
;true last record of source file 
■Input file DCB xxxxxxx 
;HAP (index) file DCB 
■ Hap file DCB Record Length 
iHap file DCB Current Record 
iMap file DCB Last Record 
.-true last record of index file 

.-Map file DCB xxxxxxxx 
.•contents ->top of aeaory 
.■record buffer (1 byte) for outp 
loutput file DCB 



IPI 



uffe 
start of record line no. 
istart of HAP index file 
:of SEARCH program) 

!l/0 paraaeters: 
■ down arrow 
;left arrow 
i right arrow 
l up arrow 
ibreak key value 
icopyright notice positlc 
inext to last line on scr 
.-screen width (8a or 64) 



,lli 



utin 



lappend on string to ano 

.■binary to decimal conve 

ideclaal to binary conve 

,-dlsplay dotted line (e.i 

■display 5-dlglt deciaal 

idisplay 5-dlglt deciaal 

■ remove leading blanks 

;aove cad line file psec 

.-get NAP file names 

.■display line (fro* char 

ipack (compress) file spec in fl 

.-parse one file spec 

■zero-out 256-byte recon 

;blank-out 256-byte reco 

l 'Tap enter to continue" 



oq 



;GR buffe 



I index file 



DE, HAPDCB 
CLOSE 
DE. INDCB 
CLOSE 

-".-■: : - 

POSCUR 

ERASES 

BC, 3*256 

POSCUR 

HL.HSGNAM 

VDLINE 

B, PENULN 

C,» 

POSCUR 

HL,MSG»2 

VDLINE 

A,(CHOLPS) 

NX, SETT I LI 

BC.3*256*11 

POSCUR 



;]ust in case file open 

;3ust in case file open 
ir3:cl 

; erase to end of screen 

ir4icl 

; 'Pile Namet' asg 



/command line file spec(s) 

iwhere file spec's given on cad line 

lip to GETFIL1 if not given 



I«:Cl2 

aae file spec 
,...» program n 
■ file spec in 



cad lln 
o loop b**.* iw %f 
case the CMDLPS 



91161 
••161 
••162 

• •163 
ael64 
88165 
99166 
88167 
88168 
88169 
88178 
88171 
BB172 
88173 
81174 

• •175 
■•176 
88177 

• •178 
••179 

••18« 

•1181 

• •182 

• •183 
■ ■184 
■■185 

• ai86 

aai87 

88188 
88189 
88198 
BB191 
88192 
88193 
88194 
88195 
89196 
8B197 
8819B 
68199 
88281 
88281 
88282 
■■2*3 
••2(4 
••215 

• •216 
98297 

• •2(8 
882(9 
88218 
88211 
B8212 
88213 
88214 
88215 
88216 
BB217 
89218 
8B219 

• •221 

• (221 
••222 
•1223 
•1224 
••225 
••226 

• •227 

• •228 

• •229 
88238 
B8231 
B8232 
B8233 
88234 
88235 
a8236 

• 8237 
B8238 
88239 
88248 

a*24i 

88242 
••243 

• •244 

• •245 

81246 
••247 

• •248 
•■249 
••251 

• •251 
■ •252 

• •253 

• 1254 

• •255 

• •256 
BB257 
88258 
BB259 
••261 

• •261 
••262 
••26 3 
••264 
••265 
••266 
•126 7 
••26 6 

• •269 
98271 
••271 
••272 

• •273 
•1274 

• •275 

• •276 

• •277 
••278 
BB279 
99288 

• 1281 
••282 
••283 

• •284 

• •285 
••286 

• •287 
••288 

• •289 

• •291 

• •291 
••292 
••293 

• •294 

• •295 

• •296 

• •297 
88298 
88299 
99398 

• •381 

aa3a2 

8B383 

• •314 

• •3*5 

• •3(6 
••3(7 

• •388 
•13(9 

• •311 



file spec not entered or 


cad 


or invalid file spec fo: 


> cad 


so get file spec 





CETFIL1 LD 



CALL 
CALL 

CALL 



BC. 3*256*11 

POSCUR 

ERASEL 

B.51 

HL.XEYBUF 

XBLINE 

BRKXEY 

NJ,GTFIL2 



HENUI2B 
Z.DOSCHD 



erase to end of line 

no aore than 51 char in file spec 

use KEYBUP to bold tile spec 

key in file spec 

was break hit? 

ip to GTPIL2 if break not pressed 



; erase to end of screen 

icall mini-menu 

i (H)AP? 

;]p to TRSDOS and load HAP 

I (T1RSDOS7 

ijp to TRSDOS 

i]p bade and get file name 



mull ent 
1GTPILE4 



CALL 


EATBNX 


LD 


A,(HL) 


CP 


'?' 


JP 


Z.HHEl.P 


LD 


HL.XEYBU 


CALL 


GETMPN 


JR 


Z.PNOK 


LD 


BC, 8*256 


CALL 


POSCUR 


CALL 


ERASES 


LD 


HI..FNEMS 


CALL 


VDLINE 


CALL 


TAPENT 


JP 


GETP I L 



OPSRC NOP 



0PSRC3 NOP 



(for help) entered? 
•HELP (minihelp sere 
KEYBUP again 



op back and get file 



HL.SNAH 
PACKPS 



;file name syntax OK 

lBL->source file name 

iDE-> index file spec 

.-space compress source file spec 

sand move to source file DCS 

iHL->lndex file name 

lDE->index file DCB 

ispace compress index file spec 

land move to Index file DCB 

iHL->output file spec 

,-DE->output file DCB 

ispace compress output file spec 

.-and move to index file DCB 



P LD 


BC, 5*256 


CALL 


POSCUR 


CALL 


ERASES 


LD 


HL.IDXPIL 


CALL 


VDLINE 


LD 


HL, HAPDCB 


CALL 


VDLINE 


LD 


HL.HAPBUP 


LD 


DE, HAPDCB 


CALL 


OPEN 


JP 


Z,0PHAP6 


P'/Sh 


AP 


LD 


HL , HAPOER 


CALL 


VDLINE 


POP 


AT 


CALL 


ERRDSP 


LD 


B, PENULN 


LD 


c,» 


CALL 


POSCUR 


CALL 


TAPENT 


JP 


GETPILE 


J>6 CALL 


SETHLR 



I OPMAP 

lopen MAP index file 



ipt to index file spec 

;dsp HAP file name 

iHL->lndex file record buffer (ifrb) 

iDE->index file DCB 

I open index file 

lip 0PHAP6 if file open OK 

i save TRSDOS error code 

lHAP open error message 



iTap enter to continue 
I loop back and get file spec 
I set HAPLLR to true last reco 
lln index file 



l OPSRC 
I open a 



file 



BC,( 

Dt, HAPDCB 
UADDR 

X.0PSRC3 



iflrst get header to determine which 

I file to open 

■header (sector I of index file) 

■ DE- .-Index file DCB 

I read header 

ijp to 0PSBC3 If read OK 

■display error mag 



inext to last line, first co 

iTapent to continue 

i loop back and get file apec 



file 



HL.HAPBUP 
DE.CODE 

EC, 9 



JR 


NX , BDRERR 


INC 


DC 


JP 


PE , HDRLP 


JR 


HDROK 


LD 


HL, HEADER 


CALL 




CALL 


TAPENT 



, 'HINDEX 1.2' 

jno. of bytes in CODL to be compared to 

■title of header 

-only 'HIKDEX 1.' Is checked 

jget char fom CODE 

jcp to (HL) and inc HL 

•error in header if not equal 

;pt to next char in code 

iloop until 9 char in BC checked 

; 'H INDEX 1." present in header 

; header error mag 

fTapent to continue 

;jp back to beginning and start again 

; header ok 

iHL-> byte 10 in header 

)HL-> byte 11 in header 

iheader byte 11 contains Indexing forma 

;code: '.' * paragraph format 

7 BDH - record format 

jget Indexing format code 



i pat 



prog for paragraph 



idisplay 'record fc 
iheader format OR 



Listing 10 continued 



222 • 80 Micro, December 1983 



y*S 




CHILD'S PLAY 

AN EDUCATIONAL PROGRAM FOR CHILDREN AGES 2 TO 7 YEARS 




This machine language program contains fast animation, sound 
affects, tunes, and speec h . The speech has two options: it can be 
generated by computer or by a VS 100 speech synthesizer (speech 
options described later). The program is easily controlled by a 
friendly menu-man who points to the options that may be chosen. 
The main menu contains four sections: •Learn the Alphabet 
•Learn to count *Leam Shapes • Learn Words. Each section con- 
tains three subsections which can easily be manipulated, giving 
twelve games in all. The menu selection is accompanied by a dif- 
ferent nursery rhyme tune for each menu. 

LETTERS 
This option allows the child to select letters at random, match the 
current letter displayed or type in the next letter. When a correct 
response is given, an animation associated with the letter moves 
across the screen, e.g., Z or Zebra. The computer says the letters 
also. NUMBERS 

This option allows the child to select the numbers zero to nine at 
random, match the current number displayed, or type in the next 
number. Men walk out on the screen equal to the number chosen. 
This section also contains speech. 

SHAPES 
This section allows the child to control the menu-man, moving 
shapes from the left hand of the screen to the right hand of the 
screen. The first level allows the child to pick up shapes using the 
spacebar. The second level, in addition allows the chiled to control 
the menu-man with the arrow keys. The third level puts a small 
'Bee' on the screen which the child must avoid while manipulating 
the menu-man and shapes. uyooric 

This final section allows the child to type in letters to form words. 
The first level asks for a word to be typed in, then to be repeated 



before another word can be tried. The second level prompts the 
child with a word which must be matched before an animation will 
appear on the screen. The last level shows the animation on the 
screen. Then the child must type in the correct word before the 
next animation is shown. This section contains speech also. 

SPEECH 
The program can be bought as a stand-alone program with 
computer-generated speech, which uses 'your' speaker amplifier. 
However, we have also made the program compatible with an 
'Alpha Products VS100' speech synthesizer for improved speech 
quality. (This can be purchased from 'Alpha Products' subject to 
availability). The speech is not available for a 16K machine. 
Software available for the TRS80* Models 1, III, and IV. Also soon 
available for the Timex. 16K tape (no speech). 32K tape. 32K disk. 
48K disk. All programs for A .. „ _ _ 

$29.95 

(Indiana residents add 5% sales tax: COD add $2.00) 



(Name 

City/State/Zip 

Total Enclosed $ 

Charge my VISA D 

Card# 

Signature 



.Address. 



. (Ai low 2 weeks to clear checks) 



MasterCharge D 
Exp. Date 



Indiana Software Group, inc. 

P.O. BOX 627 • COLUMBUS. INDIANA 47202 

•TRS80 « a registered trademark oi Tandy Corp 



TELEPHONE (812) 372-4042 



• 352 



^^r zwh 



fl=r= n lb 



P%^sn m& 




■■ ii iilii 11 HSl 



ii II II II III II II II 



ii ii ii iilii ii ii ii 



pi ii bd ea ii ii ea 



I 







SYSTEM REFERENCE CARDS 

"This Is a quality document and Is beautifully con- 
ceived and produced. . . .1 am In awe of your magnificent 
document." 
H.W.W n Dayton, Ohio 



Send Check or Money Order 




CARD 


ORDER NO. 


PMCE 


MODEL 1: BASIC & Assembler 


FC10O2 


S4.95 


MODEL 1: BASIC Only 


FC1001 


2.95 


MODEL II: BASIC & Assembler 


FC1006 


5.95 


MODEL Ml: BASIC & Assembler 


FC1003 


5.05 


MODEL III: BASIC Only 


FC1004 


3.95 


COLOR: BASIC & Extended 


FC1006 


4.95 


POCKET: BASIC 


FC10O9 


2.95 


APPLE 11 + II PLUS: BASIC & 8602 


FC1008 


4.95 


APPLE II + II PLUS: BASIC Only 


FC1O07 


3.95 



NEW! 



Rrrsn 2£» 



E^D 



if 



RAINBOW 

CJKTWCATIC* 
MM. 



ii 

E 
ii 



NEW! 
Heath/Zenith 

HDOS 2.0 
FC1014 $5.95 


Z80 

MICROPROCESSOR 
FC1011 $4.95 


ZX80, ZX81 and 

Timex Sinclair 
1000 

FC1012S5.95 



Call TOLL-FREE for Credit Card Orders 1 -800-258-5473. Or, send your order with 

payment or complete credit card Information to: 

WAYNE GREEN BOOKS e Retail Sales e Peterborough, NH 03458 

Enclose $1.00 per order for shipping and handling 



Ffe=D 



S^53APPUE- 



I AM PLUS 



R^SH APP1£ 
_=_ nan PLUS 




■IRS*} ii • nagnlarad TraOama/t 01 Tandy Conj 

A*»l£ a • fliyiiii ill Tratfaman « WU COMPUTER. MC 

-90 a a "na m iia d Tradaman t* Zaoo, mc 



.- 8m Uat of Admrt tmn on Pmgt 291 



80 Micro, December 1983 • 223 



Listing 10 continued 



•fin 

••312 
pain 
••314 

• •315 
M31« 

• •317 
••311 

• •319 
••32* 

• •321 
••322 
••323 

• •324 
•I32S 
11326 
•■327 

• •328 
18129 

• •33) 
••331 

• •332 

• •333 
•1334 
M33S 
88316 
••337 

• 833B 
••339 
II34( 
••341 
••342 
••343 

• •344 
88345 
88146 

• •347 
8)348 

• 8349 
BB35B 

• •351 

• •352 

• •353 

• •354 

• •355 

• •356 
••357 
••358 
••359 
88368 

• 8361 
••362 
••363 
••364 
••365 

• •366 
••367 
••368 

• •369 
••378 

• •371 

• •372 
••373 
••374 

• •375 
••374 

• •377 
48178 

• •379 
JB38B 

• •381 

• •382 
••383 
•■384 
11385 

• 1386 
B»387 

• •388 

• •389 
88398 
88391 

• 1392 
••393 

• •394 
•8395 

• •396 

• •397 

• •398 

• •399 
86488 

• 6481 
••412 
••4(3 

• •4(4 

• •4(5 

• •4(6 

• 14(7 

• •4(8 
88489 
••41( 

• •411 

• •412 

• •413 
••414 
••415 
••416 

• •417 
••418 
••419 
■•42* 

• •421 

• •422 
••423 

• •424 
••425 

• •426 

• ■427 

• •428 

• 1429 
08*38 

• •431 

• •432 

• •433 

• •434 

• •435 

• •436 

• •437 

• •438 
••439 
88448 

• •441 

• •442 
••443 
88444 
•1445 
•■446 
■•447 
••448 
■■449 
••451 

• 6451 
■■452 
68451 
■(454 
■(455 
(■456 
••457 
••458 
1(459 
((46) 
•■461 

• ■462 



OPSRC5 LD 



OPSR5L LO 



IDC 
IK 
UK 



OPSPC6 LD 



call 
NO 

CAM 



CALL 
POP 
CALL 
CALL 



CALL 

CALL 

NOP 



LDIHSG DEPH 

DEPB 
LIMIT DEPM 

DEPB 
LIHIT1 deph 

DEPB 
LINIT2 DEFB 

DEFB 



DE,2« 
HL.DE 
DE.INDCB 
APPEND 



HL.SDDR 
A,(HL) 
•DB 
Z.OPSRC5 



DB 
A, (Dl 

(DE) ,A 
HL.SDDR 
APPEaD 

BL.SRCPIL 
VDLINE 
HL.IKDCB 
VDLINE 



Z.0PSRC6 
Z.0PSRC6 



ERRDSP 

B.PENULN 

C.» 

POSCUR 

TAPEHT 

CETPILE 

•»• 

(IDCBRLI .A 

SETILR 

LDMAP 



lNL->start of file spec 
lDE->source file DCB 
l trans file spec to DCB 

l If source file drive specified by 
luser append to current file spec 
iHL->source file drive spec 

i? EOR 

isHp if no source file dr specified 

.-source file drive specified so add 

i • : ' and drive no. 

ireaeaber DE->end of sre file spec in DCB 



l add EOS to file spec 
ipolnt to source file drlva spec 
jaove sre file drive (pec to DCB 
I 'Source Pile: ' 



laove source file naae to CPILE buffer 
iCPILB used to display file naae during 
xoperation of prograa 
iHL->to source file spec 
lDE->CPILE (current file) 
I set counter to • 

iwere eight char moved to CPILE 

.•IP to 0PSRC6 if 8 char in source file n 

iget char froa file spec 

l)P If ext 

fjp If drive 

ijp if password 
icopy file name char to CPILE 
jpt to next char in file spec 
ipt to next char in CPILE 

lloop until entire file naae traanferred 



rput 03 at end of file naae 

li3 indicates end of record 

iwhen current file naae is displayed 

jVDLINE will not position cursor to n 

lBL->source file record buffer (sfrb) 

;DE->source file DCB 

i record len - ■ 

lopen source file 

DP to 0PSRC8 if not error 

i save error code 

.•'Error in data/text file' sag 

1 restore error code 



meat to last line, 1st 

jTapent to continue 

I loop bacx and get file 



iset I. RI. (record length) - 256 
:set INLLR to true last record 
j load as auch of the index file 
I into memory as possible 



HL, LDIHSG 

VDLINE 

HL, (HEHEND) 

DE.512 

A 

HL.DE 

(LSTSEC) ,HL 

BL.STNAP 

(HXTMAP) ,HL 

BC.I 

BC 



BL.MAPBUP 
DE, (HXTMAP) 
BC.256 



BL.DE 

C.N0R0OH 
LDHAPL 



BL 

BXDEC 

VDUHE 

BL,LINIT1 

VDLIin 

HL, (HDCBCR) 

BXDEC 

VDLINE 

BL.LIKIT2 

VDLINE 

TAPENT 

HL, (KXTHAP) 
(HAXHAP) .HI. 
BL.HAPRD 
VDLINE 



I LDMAP 

l loads nap sectors int 



ino aore storage beyond 
iNXTHAP -> first aap byt 



sea for MAP 



jend of aap storage 

i (HAXKAP) ■ last aap byte 



'Loading MAP Index' 
(DB 

■Meaory not aufflcle 
•DB 



ntlre MAP Index" 



contained in 



IS 


BC, 5*256 


CALL 


POSCUR 


CALL 


ERASES 


LD 


BL.BMSG2 


Call 


VDLINE 



((463 




LD 


A,»DB 


((464 




CALL 


VDCBAR IBklp line 


((465 




LO 


HL.HMSG4 


((466 




CALL 


VDLINE 


((467 




LD 


HL.HMSG6 


((466 




CALL 


VDLINB 


((469 




LO 


BL.BMSG8 


M47( 




CALL 


VDLINE 


••471 




LD 


B.PENDLN 


8(472 




LD 


C,» 


■1473 




CALL 


POSCUR 


•(474 




CALL 


TAPENT 


68475 




Jt> 


GETPIL1 


■•476 


BMSC2 


DEFB 




■•477 




DEFB 


•DB 


BI478 


BP1SG4 


DEPM 


'Only the source file specification is required' 






DEFB 


■DB 


• •481 








••481 




DEPB 


■DB 






OEFB 


'The output file aay be specified froa within the progra 


















••485 


NSGI2 


DEPM 








DEFB 


3 




BSCPF 


DEFB 








DEFB 


(DB 




MSGRP 






88491 




DEPB 


• DB 




HSGOP 














••493 








••494 




DEPB 


• DH 


••495 


HEADER 


DEPM 


■Error in MAP Index Pile Header' 


• •496 




DEPB 


•DB 


■■497 


MAPOER 


DEFB 


■Error in Attempt to Open MAP Index Pile' 






DEFB 


•DH 


•8499 


DATAER 


DEFB 








DEFB 


1DH 


• ■581 








• •5(2 




DEPB 


•3 




SRCPIL 


DEFB 




88584 




DEPB 


13 










••5t6 




DEFB 


3 


• 85(7 


PNEMSG 


DEFB 


■Error in file name foraat' 


8>588 




DEFB 




86589 


HAPRD 


DEFB 


■MAP READ COMPLETE' 


• •511 




DEFB 




• •511 

• •512 










END 





Program Listing 11. Assembly-language listing of S3DSP/SRC. 



■•■■1 

•■••2 
••••3 
••••4 
••••5 

• 6866 

• •••7 

• •••8 

• •••9 

• 1118 

• ••11 
•••12 
••■13 
•■•14 
•■•15 

• ••16 
11(17 
(((18 
(((19 

• ••21 

• 1121 

• ••22 

• ••23 
•••24 

• ••25 
•••26 

• ••27 
•••28 
■••29 

• 8838 
•••31 
•••32 
■•133 
•••34 
■••35 
•••36 

• ••37 
••138 
•••39 

• ••46 
•■•41 

• ••42 

• ••43 

• ••44 
■••45 
•••46 

• ••47 

• ••48 
•••49 
B8658 

• ••51 

• ••52 
••■53 

• ••54 
•••55 

• ••56 

• ••57 

• ••58 

• ••59 

uaata 

• ••61 

• ••62 
88)63 
1BI64 
88665 



88871 
B1872 

• ••73 
•••74 
■■•7 5 
•••76 
•••77 
■ ••78 

• ••79 

• 6688 

• ••81 

• ••82 

• •••3 
8(184 

• ••85 

• ••86 

• ••87 
•••88 
BM89 
••(»• 

• ••91 

• ••92 
11193 

• ••94 
•••95 
BM96 



S3DSP PSECT 



eloeatable prograa aectic 



ipublic routines 



PUBLIC 
PUBLIC 
PUBLIC 



BTOPDN 

LIST 

DSP 



ibypass updown control buffe 
iliat file routine 
idisplay record routine 



calls to MODII or HODIII 



EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 
EXTERN 



*BLINE,F!BLIN3,KBCHAP.,KBWAIT,XFYIN,KBINIT 

KBBRK 

VDCLS, VDLINE, VDCHAR, VDINIT 

HOME , BOTTOM , NEWLN 

CURPOS, POSCUR 

SCRPRO 

ERASEL, ERASES 

OUTCHR 

PRIN IT , PRSCN , PRTBLN , PRTREC 

PRLI NE , MOVELN , PRTBUP 

POS EOF , POSN, READDR , WRITNX , BACRSP 



iMODII/III buffers and I/O paraae 

EXTERN INDCB,IDCBRL,IDCBCR,IDCBLR, INLLR, IDCBOS 

EXTERN MAPDCB,MDCBRL, HDCBCR, MDCBLR , NAPLLR , MDCBOS 

EXTERN OUTDCB 

EXTERN ERRDSP 

EXTERN SORLN.STMEND. HEHEND 

EXTERN ARROW) , ARROWL.ARRCWR, ARROW, BRXr.EY,SWIDTH,PEHULN 



|S3 buffe 



INBUP,INBUPE,INBUPU,NINSET,SINSET 
LINENR, SPHORD , EOT . HSCEOP , SEAHSG 
OMODE, SDHOOE , PRHOOE , MODE , RECBUP 
RXTREC 



EXTERN READIN.OPNOOT.OUTRBC 



ills to GR (gener 



lie froa start of current 
current record in RECBUP 
current sector in INBUP 
IX -> current sre sector 



T LD 


A, 'N' 


LO 


(BiUPDN) ,A 


CALL 


DLINE 


LD 


■»•»■ 


LD 


(MODE) ,A 


pnr.il 


IX 


PUSH 


It 


PUSH 


IX 


POP 


BC 


LD 


HL,(NXTREC) 


CALL 


LIST1 


POP 




POP 


a 


RET 





:.d 


BL, INBUP 


JR 


LIST2 


PUSH 


HL 


ctu 


HOME 


LD 


BL.LISTJI1 


CmU 


VDLINE 


CALL 


NEWLN 


POP 


HL 


LD 


A.(NINSET) 


LD 


(SINSET) ,A 


LD 


A, 8 


LD 


(NINSET) ,A 


IX 


A,l 


LD 


(LINENR) ,A 




B.SWIDTH 



isave HL (-> INBUP) 

irlicl 

I 'Listing '13 



Listing II continued 



224 • 80 Micro, December 1983 



Seducti&t... 

mete than a pome! 



TRS-SO /-///-/ 



$+9.95 

ta 

adit/t ridee ifa/nes 
7325% Reseda M. 
Suite 637 Reseda, Ca. 
9/335 



X-/<ated 



3400 USER 8 

newsletter 



Word Protesting/ Dab Base Newt 
lor Model III, IV, & 100 

M«0 USM" ii Ihe lim newsletter devoied primanly in WORD PRO- 
CESSING & DAT* S*S( use to- ModeK III. IV. A 100 n is iniensels 
'ejdei- jse' O'lentjfed on ihe premise rKji jverjge use's discove' 
oulsljndiiR time-sjving iriejs jnd wjnl lo srijie We publish ihese 
submiiied rptss rhe ve'» ne»i month using simple low-budget priii- 
,ng melhods Includes monthly TlTORIAt nn some jspeil ol -Old 
p'ocessmg dju bjse .ou tin use NOW * jttujllv see you' invest- 
ment produfr' Corpoule product newv bugs A lues covered 
promplly' Htt" is loi Averjge Down to-Ljnh Vsord Processor 
Users "who don I know I hen Peek I'om the.. Pole MSfatlorYOU. 
lhedJV-u.dj.jsr. (HlKj.sjcluj.ly your sec reljry she II love you 

to' .urn.lir.ni ) loin up heli.'f IjnuJ'v W & 'r..ii. Our Ib'SI DO 
IT'** poller svrfh your first issur Submr.si.ins weiromed \24 00 pe« 



CllM 



Send cash, check, money order to: 

CREST SOFTWARE *-» 

2132Crestvievv Drive • Dutango.CO 81J01 
(303)247-9518 

isj. VIC accepted, inducJc <jrd » and eipirdlion <■-»■<* 



wabash 

six-year war ran teed -367 

DISKETTES! 

$18.95/box (10) 

with FREE library case! 

5V." single-side, single-density; double-density 
add S2 box 8" disks comparably priced Add $2 
per order shipping. In Illinois add 6% salts ta*. 
Immediate shipment on VISA. Master Card or 
Money Order, Add 14 days lor personal checks. 

CALL TOLL FREE 3 
1800)222-1248 
In Illinois Call (312) 882-8315 

DEALERS! SCHOOLS! USER GROUPS! 

Call tor our low volume discount prices' 



DIGITAL IMAGES 

Box 941005. Schaumburg IL 60194 



LIMITED OFFER 

NEWDOS - 80 ver. 2.0 
and DOSPLUS ver. 3.4 

A combined regular price of 
$299% 

Now $149.00 combined 

- - - price 

or call for separate pricing. Offer 

subject to cancellation without 
notice. 

CALL TOLL FREE 
800-835-0071 




F*»* T j"L. I NC. 

526 E. 4th e-142 
HUTCHINSON, KANSAS 67501 



" IS YOUR PRINTOUT FADING? 

THEN YOU NEED: 

RIBBON SAVER! 

REVITALIZE YOUR FABRIC RIBBON 

WITH "RJ-1000B"- APPLICATOR 

• Will revive all fabric cartridges, 
(except carbon) 

• Works on all FABRIC ribbons, (all 
colors and sizes) 

• Simple, no tools needed 

• Extend life of your ribbon up to 
3 times, or more 

• Can also be used lo rejuvenate 
fabric home typewriter ribbon 

• Satisfaction guaranteed, or money 
back 

PRICE: $3.95 
shipping & handling included in cont US 
(Foreign add $2 00 extra, (pay in U.S funds) 
NJ residents add 6% 

For heavily used ribbons order RP-2010B 
$1 00 extra (state color) 



send check or M to 
-?02 



DESIGN COLORANTS 
P.O. Box 612 
Wayne, NJ 07470 
For VISA or M.C orders call: (201) 667-7545 



ESSJfly 



CUT YOUR PAPERWORK 
TO shreads with SIMPLEX 
FORMS PROCESSORS 

•• ML'LTI-Pl'RPOSE CHECK WRITER " 

uses most Multl ouroose checks (or Payroll. Accounts 
Receivable, and fash Disbursement checks Each 
type followed by SESSION REPORT lor further 
bookkeeping procedures 
Specify Model I or III Tape or Disk tt».»s 

•• MlLTI-Pl'RPOSE FORM PROCESSOR •• 

Uses most multi-purpose printed 8 ', X II forms or 

PLAIN PAPER Your choice 

Processes INVOICES. STATEMENTS. PURCHASE 

ORDERS. MEMOS 

Specify as above only MM 

"SPECIAL -COM BO PACK of BOTH " 
Specify as above only m.n 

ALSO many single SIM PLEX PROCESSORS 
NEW programs - soon - CONTRACTOR CERTIFIED 
PAYROLL. REG PAYROLL PAYABLES. RECEIVABLES 



DE AlERS INVITED 



ESSJAY P.O. Boa 566 
Pv.rsburg TN 38024 Phono 901 285 1800 



FINALLY!! 

ARCADE GAMES AND 
GOOD GRAPHICS FOR 



MODEL 2, 12, 16 



$19.95 each - or two for $29.95! 

Galactic Invaders Munchman 

Quest for Adventure Meteors 

Space Trek Wormy 

Computer Casino Bust-out 

The Wrath of Ken Chess 

Racer X Othello 

Call or write for full game list 

KUZEL COMPUTER SERVICES 

8654 W. Berwyn Ave. #3S 

Chicago, Illinois 60656 

(312)399-0273 „ 3 S4 



Reviewers agree: quality documentation can 
mmatn success or obscurity for your program. 



FORM AN AND WILLIAMS 

DOCUMENTATION 

SERVICE 



We I! evaluate your original program documentation for 
clarity, user friendliness, and salability. Then, with your 
approval, our marketing professionals will edit, revise, or 
rewrite documentation to help you create a total marketing 
package for your Basic program. 

Send your Model l Level II cassette or single-user Model 
II/12/16 8" f'oppy diskette, current documentation, program 
listing, and self-addressed stamped envelope to 

FORMAN AND WILLIAMS 

3387 Del Rosa Ave. North (Suite 113) 

San Bernardino, CA 92404 ^45i 

Programs will be returned only if accompanied with sufficient 

return postage and envelope 

NOTE: We do not evaluate or debug programs 

•••SPECIAL NOTE lo Software Manufacturers. Computer 
Stores, and Mai Order Houses: send «T0 SASE and your 
business card lor information on our complete advertising and 

marketing services. ••• 



MEMOREX 

FLEXIBLE DISCS 



WE WILL NOT BE UNDER- 
SOLD!. Call Free (800)235-4137 

for prices and information Dealer 
inquines invited and COD's 
accepted 




PACIFIC 
EXCHANGES 

100 Foothill Blvd 
San Luis Obispo. CA 
9340 1 In Cal call 
(800)592-5935 or 
805)543- 1037 

• 207 



SeeUtlot Advertisers on Page 291 



80 Micro, December 1983 • 225 



YOUR TRS-80 
NEEDS HELP 




It needs software before it can do anything. And good software 
is as valuable as any piece of hardware you can buy. 



The Encyclopedia for the TRS-80* is a ten-volume 
reference series with over 200 programs for the 
Model I, Model III, and Color Computer. In each 
volume, you'll find: 



* Business 


* Hardware 


* Education 


* Interfacing 


* Games 


* Tutorials 


* Graphics 


* Utilities 



Photographs, schematics, and program listings 
provide the essential detail you need for pro- 
gramming and tinkering. 



Save Time running the programs once you have 
them. Encyclopedia Loader provides direct load- 
ing of programs and saves you the time of typing 
and debugging. These ten 30-minute cassettes 
have selected listings from each volume, ready 
for you to load and use. 

Don't put up the white flag! Loaders and soft- 
cover Encyclopedias are available separately or 
in sets. Get some help for yourself and your 
TRS30 with Encyclopedia for the TRS-80* and 
Encyclopedia Loader. 



Toil-Free 1-800-258-5473 

'TRS-80 is a trademark of Radio Shack division of Tandy Corp 



ENCYCLOPEDIA FOR THE TRS-80 * & ENCYCLOPEDIA LOADER 



TM 



To Order Single Volumes 

Please indicate quantities 

Softcover edition ©$10 91 per volume 

Vnl 1 Vol J Vol s vol P 

Vnl 2 Vol 4 Vnl b Vol 8. 

Encyclopedia Loader @$14 9S per cassette 

Vol 1 Vol 3 Vol S Vol 7 

Vol 2 Vol 4 Vol b Vol 8 

Encyclopedia Loader Volumes 1 -10 ELMO* 
A $149.50 value 

□ Payment Enclosed 

Card # 

Name 



_Vc4 s 

\<i 10 



Vol s 
Vol 10 



$119 97 




To Order Complete Set* (and save an extra SI 5 00) " 
1 Encyclopedia (or the TRS-80" volumes 1-10. plus FREE 
volume I of Encvdopedia loader toftcover edition 
ENMML $109 30 

• "Savr SIS 00 shipping and handimc rhargc When you <«de» a com- 
pile vrtotwtoover Er*vtloppd^ or I oadrry VM PA* IHt SHIPPING' 

Shipping and handling $1 50 prr volume for single volumes of books 
and cassettes. $10 00 per Hem lor foreign air mail All Encyclopedias 
shipped UPS with complete street address, all Loaders shipped 1st 
class mail 



UVISA 
lnterBank#_ 



HAMEX 



[ IMasterCard 



Expires. 



Signature. 



Address. 



C itv State. 

Mail to: Wayne Green Inc., Books Sales, Peterborough. NH 03458 



-Z'P- 



226 • 80 Micro, December 1983 



PUT YOUR 

"TRS-80* 

IN CONTROL 




Interface your TRS-80 to out- 
side devices. Learn with the 
projects in TRS-80 as a Con- 
troller. You can use your 
computer to control lights, 
switches, and even a small 
computer you build yourself. 

All it takes is a minimum 
knowledge of electronics and 
programming. Circuits are 
simple. Most programs are 
fewer than fifteen lines long. 
The instructions are clear and 
fully illustrated with photo- 
graphs, schematics, and 
figures. 

Jerry O'Dell has designed 
these projects to be 
both easy and 
inexpensive. You 
don't need disk 
drives, plotters, 
digitizers or 
other fancy 
units. 




You don't have to be 
an expert and you 
don't have to be rich. 

All you need is a TRS-80 
Model III with 16K RAM. Level 
II BASIC, and a few other 
parts that you will no doubt 
find useful at a later date. (You 
can also use a Model I. with 
the conversions provided in an 
appendix.) The components 
you'll need are all readily 
available. 

The book begins with a de- 
scription of the Model III and 
Z80 and all the chips, circuits, 
prototyping boards, and other 
devices used in TRS-80 inter- 
facing. There are also helpful 
suggestions throughout for ex- 
panding the projects into more 
complex applications. 



Jerry W. O'Dell. Ph.D.. is a 
psychology professor at East- 
ern Michigan University. He 
has published many articles, 
including several in 80 Micro 
and the Encyclopedia for 
the TRS-80. 

BK7394 $12.97 softcover 
7 by 9 approx. 176 pp. 
ISBN 0-88006-061-1 
Wayne Green Books 1983 

Credit card orders call TOLL-FREE 
1-80O-258-5473 or mail your order 
with payment of $12.97 each plus 
$1 .50 per book shipping and 
handling to: Wayne Green Book 
Sales. Peterborough. NH 03458. 

Dealer Inquiries invited 

Check the box on the 
coupon lor your FREE 
WAYNE GREEN 
BOOKS 1983 
RETAIL CATALOG. 




BOOKS 



Due lo printer error, unavail- 
able until November 30, 1983 
We apologize for any incon- 
venience 

QIBflOOff* 



* TRS-SO !• a 
trademark of the 
Radio Shack di»l 
•Ion of Tandy Corp 



Put my TRS-80 in control. Please rush me copies 

of TRS-80 as a Controller (BK7394) at $12.97 each. 

Enclosed is $12.97 per copy plus $ 1 .50 for shipping and 
handling. (1 Please send me a 1983 retail catalog. 

; ! MASTERCARD MC bank * 

VISA C AMEX 

Card * Expires 

Signature 

Name 

Address 

City 

State Zip 

All orders shipped UPS if complete street address is given. 

33DB8T 



80 Micro, December 1983 • 227 



Listing II continued 



• 1*97 
(••96 
Mt)M 
1(1(1 
(•1(1 
((1(2 
((1(3 
((1(4 
((1(5 

• (1(6 
((1(7 
••1(8 

• •1(9 
((IK 
(•111 
•(112 
(•113 
(•114 

• •115 
•(116 
M117 

•die 

((119 
8(12( 

••121 
(•122 
(8123 
■•124 
((125 
031/6 

• •127 
((126 
((129 
8(1 il 
((131 
((132 
9(133 
•(134 

• (135 
((136 
((137 
((138 
(•139 
Kill 
((141 
((142 
((143 
((144 
(•145 
((146 
((147 
((148 
((149 
M15( 
••151 
•(152 
••153 
((154 
((155 
((156 
((157 
((158 
((159 
((16( 
((161 
1(162 

• •163 
•(164 

• •165 

• (166 
8(167 
((168 
((169 
((17( 
((171 
((172 
((173 
(•174 
((175 
((176 
((177 
•(178 
((179 
(»18( 
((181 
((182 
(•183 
((184 
((185 
((186 
((187 
((188 
((189 
((19( 
((191 
((192 
((193 
((194 
((195 
((196 
((197 
(8198 
((199 
8(288 
((2(1 
((2(2 
((2(3 

• (284 
(•2(5 
8(286 
8(287 
(82(8 
((289 
88218 
((211 
(•212 
••213 
((214 
((215 
((216 
((217 
((218 
((219 
((22( 
((221 
((222 
((223 
((224 
((225 
((226 
((227 
((228 
((229 
((23( 

• •231 
••232 
((233 

• •234 
••235 
((236 
((237 
((238 
((239 
M24( 
((241 
((242 
((243 
((244 
8(245 
(8246 
(8247 



LIST3 CALL 



LIST3C CALL 



XOK 
IK 
POP 



LIST4 U> 



LIST23 LO 



LIS748 LO 



LIST43 INC 



INC 
UK 

PUSH 

PUSH 



LIST45 LD 



:■.. 
call 
I ;-■ 



LIST48 NOP 
LD 
PfSH 
PUSH 

P1PSH 
JP 

1.1ST58 NOP 
POP 

POP 
POP 



Z.LIST3C 

DSPWRD 

BJUTKEY 

2,LIST7( 

Z.LIST7( 

AKROWU 

Z.LISTB 

A.(HL) 

(DH 

Z, LISTS 

SPACE 

A, 'S' 

(SPWORD) ,A 

HL 

HL.INBUFU 



Z.LIST48 

DSPSP( 

BRKKEY 

I,LIST7( 

Z.LIST7B 

ARROWU 

Z.LISTB 

A,(BL) 

(DH 

NZ.LIST3 



ILIST3 

;proceos next word 

■ get next word 

; working with word 

■ save HL 

■ (DH Byte after INBUFE 

■restore HL 

[get next sec 



[display word 
■<break> ? 

■ )p LIST7( If <break> 
[was 'a 1 pressed 

■ end. than sea ten 

jwas uparrow pressed? (backspace) 



uaed 


(or 


listing 


only 














Hit 


and 




search 






>ressed? 








and 


resune 


search 





start Hating again 



u 


DE.INBUPE 


. KJ 


HL 


vm 


A 


■M 


HL.DE 


i . 




j? 


Z.LIST21 


CALL 


UPDOWN 


a 


BPJtKEY 


» 


X.LISTTI 


a 


ARROWO 


jp 


I .LIST* 


CP 


'8 ' 


JP 


I.LIST15 


LD 


A.SHIDTH 


CP 


B 


jr 


1.LIST9 


CALL 


NEWUf 


LD 


B.SWIDTB 


INC 


HL 


at 


LIST3 


CALL 


NEWLN 


LO 


A, 's' 


JP 


LIST? 8 



l)p l! HL at end of buffer 

|4Xaat)l 

.•exit and gat next search kay 

■ up ar« 

ibacksp, ao start listing again 
1 [slearch cad 

■ exit and continue search 
lA-acraen width 

inew line? 

troll acrean in new line needed 
■reset count for char printed on 
■HL->next char after (D 
i loop until EOR 
I roll screen 



UPDOWN 

BMKEY 

Z,LIST7( 

ARROWU 

Z,LIST( 



Z.LIST23 

NEWLN 
B.SWIDTH 

c,( 

A, •M" 

(SPWORD) ,A 
DE.INBUP 

LIST48 



en key 
again 



Z,LIST5( 
HL, INBUFE 
DE.INBLT 



I has EOF been reached? 

Ijp LIST5( if EOP 

[transfer remainder of INBUP to SINBUP 



.•include char before string to be tr 
l trans to SINBUP 
.•adjust for lnc of BC 
i adjust for lnc of BC 
jDE-> 1st char of word 



A, (EOP) 

1 

Z,LIST5( 



;HL->INBUFE-C 

iDE-> wrd atart in HattW 

lHL-> wrd start in SINBUP 



• •248 
•(249 

((25( 
((251 
((252 
((253 
•(254 
••255 

• •256 
•I2S7 

• •25* 

• •259 

• •26* 
••261 
••2(2 
••2(3 
••2(4 
••265 
■•266 
••267 

• (268 
((269 
M27( 
••271 

• •272 

• •273 

((274 
((275 
•(276 
8(277 
8(278 
•8279 
B82BB 
((281 
((282 
((283 
((2(4 
((285 
((286 
((2(7 
((2(8 
((289 
••291 
((291 
((292 
((293 
((2(4 
((2*5 
((296 
((297 
((298 
8(299 
((3(( 
((3(1 
((3(2 
((3(3 
J8384 
((3(5 
(•3(6 
((3(7 
((3(8 
((3(9 
M3K 
((311 
(•312 
(•313 
(•314 
•(315 
((316 
((317 
((318 
8(319 
88326 
((321 
((322 
((323 
((324 
M32S 

• •326 
••327 
1*32* 
••329 

• (33( 
((331 
((332 
((333 
((334 
((335 
((336 
(•337 
((338 
((339 
((348 
((341 
((342 
(()43 
((344 
••345 
•(346 
((347 
((34( 
((349 
((35( 
((351 
86352 
((353 
((354 
(•355 
(•356 
8(357 
(8358 

• (359 
(8368 

• (361 

• (362 
(•363 
(•364 
((365 

• (366 
(•367 
((368 
(•369 
(•37( 
(•371 
••372 
1(373 
((374 
((375 
(•376 
((377 
((371 
((379 
((3>( 
((3(1 
((3(2 
((3(3 
((3(4 
((3(5 
((3(6 
((3(7 
(•388 
98385 

• (39( 
(•391 
((392 
8(393 
8(394 
((395 
8(396 
80397 



NEHLN 

HL.MSGEOF 

VDLIHE 

(BMAIT 

BPJSKEY 

l.LIST?( 

12 



LIST7( PUSH AT 



A, (SINSET) 
(■INSET), A 
A,( 
(EOP), A 



■ reatore lnaat 



I return If <break> 
I 'searching'^ 
■return and continue 



[DSP 



(display record found while aearchlng 

■ record la in RECBUP 

■ B req uaed for count of chat resiainlnq 
I on current line 

■entry! 

■aslti A - end (con UPDOWN routine 

■reg altered! AP.BC.de.hl 

■calls: NXTWRD, DSPWRD, SPACE, DSPSP 



■since NEWLN dec's SORLN as soon ss 

■record is displayed 

■start of record on penultimate llr 



Z.DSPRC 
•C* 

Z.DSPRC 



■record? 

■display entire record 
■continuous display? 
■display entire record 



■do (N)ot bypaas UPDOWN 



■do (Y)ea bypaaa UPDOWN 



displayed 
outlne 



LD 


(NODE) ,A 


[JJ 


A,l 


IB 


(LINEHR) ,A 


LO 


(.SNIDTH 


JP 


DSP4 


CALL 


NXTWRD 


CALL 


DSPWRD 


CF 


BRKKEY 


JP 


Z.DSP6 


CP 


■1' 


JP 


Z,DSP( 


CF 


'•■ 


JP 


I.DSP12 




A,(BL) 


CP 


(DH 


jf 


I.DSFS 


CALL 


SPACE 


CALL 


DSPSP 


CF 


BRKKEY 


JF 


Z.DSPt 


CP 


■1" 


JF 


Z.DSP8 


LD 


A.(HL) 


CF 


(DH 


JP 


NI.DSP3 



■ DSP1 

■atart display 



■search mode 
■string ends with (DH 
■1 - first line 
|2 • 2..n lines 

■checks for null record 
■get nest word 
■display word 
■<braak>? 
■eslt If break 
■switch to list aode? 
■eslt if switch in mode 
.was lsst char at >•? 



:. ' 



cha 



;:•: 



■ EOR? 

■esit if EOR 

■gat nest set of spaces fo 

■displsy spaces 

Kbreak>? 

sent If breek 

■switch to list mode? 

■•sit If switch in mode 

■get nest char in record 

■check for null record 

■ loop if not EOR 



■ DSP5 



LD 

LD 
CALL 

PUSH 
CALL 
POP 
RET 



■EOR reached 

■get search displsy mode 

l?contlnuous 

IJP DSP5A if continuous 



■do not bypsss UPDOWN 



■ DSP8 

■switch from sesrch to list mode 

■return with A - '1' for list mode 



■DSP12 



LO 


A,(SDHODE) 


CF 


■c 


JP 


Z.DSP14 


LD 


A.'m" 


LO 


1BYUPDN) ,A 


CALL 


UPDOWN 


rtjH 


AF 


CALL 




POP 


AT 


PET 





DSP14 CALL 



■DSP14 

■ exit! down arrow pressed 



■esiti 

■entry! HL -> start of 

■exlti HL -> atart of 

I DE-> char after 

I C - word len 

I B - • char rema 

I A - char after 



Listing II continued 



228 • 80 Micro, December 1983 



Listing 11 continued 








••39a 








ireg altered: AP.C.DE 




BB399 


NXTWRD 


PUSH 


HL 


l.ave start of word 




B84B8 




LD 


C,0 


linltlallze chat count 




••Ml 


NWRDLP 


LD 


A,(HL) 






88482 




CP 


0DH 


jEOR? 




88403 




JF 


Z , NWRDRT 


;EOR encountered 




88484 




CP 


20H 


l ' '? 




80485 




JP 


Z , NWRDRT 


j space encountetd 




M4M 




LD 


A, SWIDTH 






88487 




CP 


c 






88486 




JP 


H.NWRD65 


idon't inc C after SWIDTH 




80409 




INC 


C 


ibump chat counter 




00410 


NWRD65 


IMC 


HL 


ibump HL 




00411 




JP 


NWRDLP 


lloop until end of word 




00412 


NWRDRT 


LD 


D,H 


>DE-> chat aftet wotd 




00413 




I.D 


E,L 






00414 




POP 


HL 


;HL->8tatt of wotd 




00415 
00416 
00417 




RET 














! DSPWRD 




00418 














00419 


DSPWRD 


NOP 




jdlsplay wotd 




00420 








lentry: HL -> start of word 




00421 








1 C - word length 




00422 








I B ■= • spaces left on line 




00423 








lexiti B - • spaces left on line 




00424 








lexit ptsi DWRD2,DWRD7,DWRD11,DWRD12 




00425 








ireq altered: AF.BC, DE.HL 




00426 


DHRD2 


LD 


a, a 






00427 




CP 


c 






08420 




RET 


1 


I return if null word 




80429 




LD 


A, 8 






00430 




CP 


c 


lis there room for word? 




• •431 




JP 


Z,DWRD4 






00432 




JP 


P.DWRD4 






00433 




PUSH 


DE 






00434 




CALL 


UPDOWN 






00435 




CP 


ARROWD 


1? down arrow 




00436 




JP 


NZ.DWRD10 


ijp if not d. arrow 




88437 




CALL 


NEWLN 






80438 




POP 


DE 






88439 




CALL 


INSET 






80440 


DWRD4 


LD 


A,(HL) 


;point to char 




00441 


DWRD5 


AND 


7PH 


imaak bit 7 




00442 




CALL 


VDCHAR 


idisplay char 




••443 




DEC 


8 


,one less space 




00444 




LD 


A, 8 






00445 




CP 


B 






00446 




JP 


NZ.DWRD7 






00447 




INC 


HL 






00448 




LD 


A,(HL) 






00449 




CP 


0DH 






00450 




JP 


Z.DWRD12 


mo inset if EOR 




00451 




DEC 


HL 






00452 




CALL 


UPDOWN 






00453 




CP 


ARROWD 


idown arrow? 




00454 




JR 


NZ.DWRDll 


ijp DWRD11 if not down arrow 




00455 




CALL 


NEWLN 






08456 




CALL 


INSET 


[inset and adjust B (• char remaining 


on line) 


00457 


DWRD7 


INC 


HL 


jbump char pointer 




00458 




LD 


A, (HL) 


iget next char 




00459 




CP 








00460 




RET 


I 






88461 




CP 


•DH 






88462 




BET 


Z 






80463 




JP 


DWRD5 


lloop until word end 




80464 


DWRD19 


POP 


DE 






00465 


DWRD11 


RET 








00466 


DWRD12 


LD 


A, 'e' 


j last char of word on last char of 11 




00467 




RET 








00468 
00469 












' 






i SPACE 


00470 












J 


00471 








;tead spaces 




00472 








lentty: HL -) statt sp 




88473 








lexit: HL -> statt sp 




00474 








I DE -> next word 




08475 








1 C - • of spaces 




00476 








ireg altered: AF.CDE 




08477 








tcalls: none 




88478 


SPACE 


PUSH 


HL 


,-save start of spaces 




00479 




LD 


C,0 


! initialize space count 




00480 


SPACE4 


LD 


A,(HL) 


iget next char 




00481 




CP 


20H 


; ' '? 




00482 




JP 


NZ.SPACE7 


ijp SPACE7 if not space 




00483 




LD 


A,SWIDTH 






00484 




CP 


c 






00485 




JP 


M.SPACE5 


idon't inc • of spaces if past end of 


line 


00486 




INC 


c 


line • of spaces 




00487 


SPACES 


INC 


HL 


ipt to next char 




00488 




JP 


SPACE4 


lloop until non-space chat 




08489 


SPACE7 


EX 


DE.HL 


iDE->next wotd 




88498 




POP 


HL 


iHL->statt of spaces 




88491 




RET 








00492 
00493 


















IDSPSP0 


00494 












00495 








IDSPSP toutine when listing 




00496 








isee DSPSP below fot mote info 




80497 


DSPSP0 


LD 


A,l 






00498 




LD 


(LINENR) ,A 






00499 


DSPSP8C PUSH 


DE 






00508 




DEC 


HL 






00501 




LD 


A,(HL) 






00582 




INC 


BL 






00503 




CP 


0DH 


,-was last chat befote space EOR? 




00504 




JP 


Z.DSPSP3 






00505 




JP 


DSPSP2 






00506 
00507 


















1 DSPSP 


00508 
00509 


















idisplay spaces 




00510 








lentty: HL->statt of spaces 




00511 








( C = 1 of spaces 




00512 








1 B - I char reamining on line 




00513 








lexit: A - UPDOWN cmd 




00514 


DSPSP 


POSH 


DE 


isave start of next word 




00515 




LD 


A, (LINENR) 






00516 




CP 


1 






0»517 




JP 


Z.DSPSP3 


iskip if first line 




00518 


DSPSP2 


LD 


A, (NINSET) 






00519 




ADD 


A,B 






00520 




CP 


SWIDTH 


■start of line? 




00521 




JP 


Z,DSPSP8 


ibypass if start of 2...n 




08522 


DSPSP3 


LD 


AfB 






0*523 




CP 


C 


lis there room for spaces 




00524 




JP 


M, SPEOLN 


ijp to eoln routine 




00525 




JP 


Z , SPEOLN 






00526 




LD 


A,(HL) 






00527 


DSPSP7 


POSH 


DE 






00528 




CALL 


VDCHAR 






00529 




POP 


DB 






00530 




DEC 


B 






• •531 




INC 


BL 






• •532 




LD 


A, (HL) 






••533 




CP 


•DB 






• •534 




JP 


Z,DSPSP8 






• •535 




CP 


' 1 






• •536 




JP 


NZ.DSPSP8 






• •537 




JP 


DSPSP7 






• •538 


DSPSP8 


POP 


BL 


lBL->next word 




••539 




LD 


A, 8 






00540 




RET 








00541 
00542 


















I SPEOLN 


• •543 

88514 












[spaces to be printed at end of line 


00545 








.-therefore truncate spaces 




00546 


SPEOLN 


CALL 


UPDOWN 






00547 




CP 


ARROWD 


1? down arrow 












Listing II continued 



V^cC^fc 




Daisy wheel quality 

without daisy wheel 

expense. 

You need the quality print that a daisy wheel 
printer provides but the thought of buying one makes your 
wallet wilt. The Selectric™ Interface, a step-by-step guide to 
interfacing an IBM Selectric I/O Writer to your microcom- 
puter, will give you that quality at a fraction of the price. 
George Young, co-author of Microcomputing magazine's 
popular "Kilobaud Klassroom" series, offers a low-cost al- 
ternative to buying a daisy wheel printer. 
The Selectric™ Interface includes: 

• step-by-step instructions 

•tips on purchasing a used Selectric™ 

• information on various Selectric™ models, in- 
cluding the 2740, 2980, and Dura 1041 

•driver software for Z80, 8080, and 6502 chips 

• tips on interfacing techniques 

With The Selectric Interface and some background in elec- 
tronics, you can have a high-quality, low-cost, letter-quali- 
ty printer. Petals not included. 

Credit card orders call TOLL-FREE 1-800-258-5473. Or 
mail your order with payment plus $1.50 shipping and 
handling to: Wayne Green Inc. Attn: Retail Book Sales, 
Peterborough, NH 03458. 

Dealer inquiries invited. »t» ■< ^ r\ n 

ISBN 0-88006-05 14 1 28 pages 5|> 1 Z ♦ 9 7 

D Yes, I want Selectric Interface (BK7 388). Enclosed is $12.97 per 
copy plus $1.50 for shipping and handling. 

□ MASTER □ VISA □ AMEX 



Card #. 



Expires 



Signature 
Name 



Address 



City 



State and Zip 

All orders shipped UPS if complete street address is giv 



33DB8S 



80 Micro, December 1983 • 229 



Letint 11 continued 






••(]• 




JP 


I, UPDKLP 


ido not ciit it already in liat aoda 


nut 




JP 


n.DSPSP* 


; ;p i! not 4 irrow 


• 1637 




LD 


A,'l" 




MM 




CALL 


KSsTUI 




•Mil 




LD 


(BODE) ,A 


■■at NOOE-(l) lat 


MM 




CALL 


mse-r 




•WJ» 




JP 


UPOHEO 


l«ait 


MMI 

MMf 


0SPSP9 


M 
rusa 


DSPS PC 
AP 




IMII 
■Mtl 


; 


















■MM 
MSM 

#•555 




PUSH 


DE 




•M42 
•M4J 
•M44 








lUPDWO 




LO 
CP 


5 f A 




uroNo 


CALL 


ounce 


■output racord 


••55* 




JP 


1, DSPSPB 




•M45 




JP 


UPDNLP 


iloop until arrow or braak praaaad 


mil 

•1556 


DSPSPB 


CALL 
POP 


NEMLN 
DE 




•M4i 
•M47 


i 


















••91* 
MM 


mute 


POP 
POP 


AP 

HI. 


lHL->nait word 


•M4« 
•M4t 








IDPMTP 










••5(1 




XET 






IH5I 








iprlnt althcr a Una or currant racord 


•MM 

••541 










■MU 
M452 


UPDHP 


LD 


A, IMMOM 


tggt search-display node 

jL-llne, a»racord, C»contlnuoua 


' 






iiasrr 




••544 
MM* 










• I* S3 




CP 


•L' 


lllM? 








iu« line so Inset number of 


•MS4 




JP 


J,UPD«PL 


iprlnt line 


MM* 








< spaces in NIMSET 


M4S5 




CP 


■c 


i continuous? 


MM) 


IKSET 


PUSH 


■C 


:save C 


•MM 




JP 


I, UPDKLP 


1 print line 


MM! 




LD 


a, shi Dm 


llMcntn width 


•MS7 




POS« 


•c 




Mil 




LD 


A,(BiaSCT) 


mo. of spaces to Inset 


•MS* 




PUSH 


DE 




••17) 




CP 


• 


unset • (7 


•MS* 




POS« 


■L 




••571 




J» 


i.lasrri 


ino inset 


•MM 




CALL 


pa-rut 


iprlnt racord 


••57 J 




LD 


C,A 


IC nov hag lnsat value 


•Mil 




POP 


■L 




••571 


IHSETL 


LO 


A," ■ 


i inaat loop 


•M42 




POP 


DE 




| l»S7« 




CALL 


VDCHAK 


idap * ' 


••6(3 




POP 


K 




••575 




DEC 


B 


idee no. of char revalniiKj on Una 


■•((4 




JR 


UPDNPE 


■Mil thla aaction 


MfM 




DEC 


C 


;d«c no. of char to inaat 


••6(5 


UPDNPL 


CALL 


PkTELN 


iprlnt Una 

lloop until arrow or braak praaaad 


••577 




LD 


A, I 




• •6(4 


UFDNPE 


JP 


UPDNLP 


••571 
••579 




CP 
JP 


C 

II . IHSETL 


land of Inaat loop? 

iloop until inaat eoatplat* 


••667 
••661 


















i upturn 


HSU 


insrr* 


POP 

LD 


DE 

C,E 


rexit fcoai routine 
I raatora C 


••66* 

• 16 71 
















I write (print) antlra acraan 


mu 




LD 


A, 2 




•••71 


UPDMW 


PUSH 


tc 




••Ml 




LD 


(LINEAR) ,A 




•M72 




PUSH 


DE 




■w 

MM 

MM* 




(IT 






■M7J 
•M74 
•M7S 




PDS« 
CALL 

POP 


■L 

PUSCK 
■L 


■print acraan 


1 






iupdoim 




••5«7 

[ MSM 










•M7( 

•M77 




POP 
POP 


Dt 

■c 










iThia routine ia called after a Una 






MM* 
■MM 
M5»l 








lis diaplayad by the LIST or DSP routine. 
(printing, la initiated Iroi thla routine 
I entry i 


•M7I 

• •679 
■MM 




Jt> 


UPDHLP 


iloop until arrow or braak praaaad 














lUPDNS 


MiM 

MSM 








laalti A raturna key preaaed 
1 one aait point i OPvNED 


••••1 
••••2 






















1 switch It os. Hat to aaarch node 


■MM 








rrog alteredi AP.tK.HL 


••(•I 


UPDM5 


LD 


A, (NODE) 




MM5 


onxam 


PUSH 


DC 


iaav« DE for antlra routine 


M6S4 




CP 


'•' 


laaarcta soda? 


•15*4 




LO 


A, IPBXOOE) 




••685 




JP 


I .UPDNLP 


ido- not axit If already in search soda 


••597 




CP 


•c 


lia print node continuoua? 


■■684 




LB 


A> '•' 




•MM 




CULL 


l.PRTBLN 


jlf so print lino 


•16)7 




LD 


(NODE) ,A 


iH0DC-(s)e*rch 


MiM 




LD 


a, (Brupoti) 


1 


•MM 




JP 


UPON CD 


leiit 


•MM 




CP 


*■• 


lia diaplay xoda manual? 


•MM 










MiM 




JP 


IfUPDMLP 


■continue it dap node manual 


•MM 








lUPDNU 


MM 

M4(] 




LD 

JP 


A.AUDHD 

ureirED 


jcontinoua dap gkoda 

rraturn with down arrow in A ten 


• •691 

• •692 










mp arrow press (backapaca) 


MM4 

MfM 










•M*3 
••••4 


uPBw: 


LD 
CP 


A, IHOOE) 
•1' 


iliat aoda? 








lUPDULP 


•MM 
MM1 










•M*5 

M(M 




JP 

LD 


«, UPDKLP 
DCIMDCB 


ido not back apaca if not liat aoda 
lDC->aource fila DO 


i neater loop of UPDOwa routlna 


MM 


UTDBLP 


CALL 


EBIKIT 


iclear key buf 


• •6 97 




CALL 


■ACISP 


i backapaca one sector 


MM) 




LD 


A,2 




■•(•• 




CALL 


BACCSP 


jbackapaca one aactor 


MM 




CALL 


VDCHAR 


; cursor off 


•M»* 




CALL 


1ACKSP 


■backspace one sector 


M411 




CALL 


(■■AIT 


iwalt until toy la pressed 


••?•• 




POSB 


K 




Mil 




CP 


ERIIEY 


i cbrans >? 


M7I1 




LD 


BC.IlDCaCB) 


iK-MuriHit record 


M411 




JP 


l.UPUHED 


ijp to and of routine If brack 


M7«2 




CALL 


acADia 


iraed racoro 


•MM 




CP 


ARCOWD 


■down arrow? 


M7)3 




POP 


K 




•M15 




JP 


l.UPUIiED 


ijp to and of routlna if down arrow 


••714 




CALL 


NCwLN 


■ roll acreen one Una 


mu 




CP 


ARROtnj 


j up arrow? 


M7(5 




LD 


A,l 




•M17 




JP 


l.UPDNJ 


j Jp to back apaca routlna 


M7M 




Ul 


(COT), A 


■not BOP 


•Ml* 




OK 


32 


jconvart char ontarad to lowar caaa 


••717 




LD 


HL.NSCBAK 


l "Backspace 3 sectors- '13 


•Mlt 




CP 


•»• 


j")' -> aw itch froai search to Hat 


II7II 




CALL 


VDLINE 


idap aeq 


•MM 




JP 


I.UPDVO 


■jp to liat/ealt aaction 


M7I* 




CALL 


NCMLN 


■ tool scrtan one Una 


•M21 




CP 


"■ ' 


i'a' ■> awitch troa list to aaarch 


H71I 




LD 


A.ARIKWJ 


■return with up arrow in A 


MfM 

IMl) 




JP 

CP 


t, uroas 


Fjp to aearch/ealt aaction 

i'»' •> wrlta (print) entice acraan 


M711 
M712 
















lUPDNCD 


MM 




JP 


l.UPWW 


I3P to wrlta acraan aaction 
■ V •> print line 


M713 








i . 


MMI 




CP 


'P' 


M714 








laiit frea orocam 


MM 




JP 


l.DPDRT 


lip to ptiat gee t ton 

l 'o* «> output currant racord 


• 17 IS 


UPDUED 


POP 


DE 


i restore DC 


MM 




CP 


'o' 


M71* 




RET 






■Mm 




jr 


I.UPDUO 


lip to output tec t ion 


M717 


■TU POM 


DOT 


• 


■bypass updown routine 


•MM 




jp. 


UPDKLP 


iloop until arrow or break praaaad 












•Mil 


!••■•• 


















MMI 








iDPMaD 












•Mil 








1 awitch frost aaarch to Hat »ode 


M71I 


aaCBAI 


DEFH 


"•acsapace 1 


sectors' ' 


•Mil 
■MM 

MfM 










••71* 




DEFB 


■1 




OPOKD 


LD 
CP 


a, (hooej 
■l" 


tliat node? 


■•72* 
••721 




EttD 







THOR symbol of new power for your Model I/III/4 Computer 

CALL 1-800-641-3885 for Orders Only. For technical information or in Colorado call: 303-337-5909. 



THOR INTERNAL MODEL Ml/4 
DISK DRIVES 

All the hardware and easy directions to install one or 

two drives— With TRSDOS"— (NEWDOS' for dual 

drives) 

Kit containing one two drives. 1 Drive 2 Drive 

Single 40 $532 S752 

Dual 40 1618 $818 

Dual 80 $702 $952 



THOR WINCHESTER 
DISK SYSTEM 



SPECIAL 
PRICE 



One or twodiives — Price includes one drive with NEW- 
DOS 80* case and power supply Slot lev second 
drive 



5 Megabyte 


$1449 


10 Megabyte 


$1649 


15 Megabyte 


$1899 


20 Megabyte 


12149 




(Prices Subject to 
Change Without Notice) 



Winchejstf-TNetwoi* Unit 

UMT15 Western Micro Systems 

* 2760 South Havana. Suite S • 

Aurora, Colorado 80014 

•TRSOOS >s a trademark of Tandy Corp and NEWDOS 80 is a trademark of Apparat Inc 
Prices are cash — Visa MasterCard American Express COO available on request 
■^■"■^^^^^^^■^■"■^■ , Dealers enquiries welcome ■■■■■■■■■■■■■'■■■■■•nsaaeaeaeaeaaaeteai 



THOR NETWORK CONTROLLER 

Connect up to 254 computes o' most any make over 
as much as 5000 leet of cable- Share 5 to 60 mega 
bytes or more of disk storage- Can for addiiionai infor- 
mation and prices 

THOR DIGITAL PORT 

14 IN and 15 OUT— Each port a full 8 bits 

Connector to attach to Model l/w/4 bus — 

Complete with cable and case— Requires 5 volts at 150 ma 

Assembled and tested 

For Model I Only $39 95 

For Model HI/4 Only $44 95 



THOR POINT-OF-SALE SYSTEM 

Includes 16 lines of 32 changes of green screen monitor 
iad|ustabie tilt), keyboard. 40 character per ime aiphanu 
menc printer, and cash drawer— Software to perform all 
cash register functions such as automatic pricing, inven- 
tory control, and daily totals Can plug into a Model in/4 or 
the THOR NETWORK CALL 



230 • 80 Micro, D*C*nber 1983 



READ THIS 



EPSON 




Lowest 
Prices! 



RX-80 FX-80 

RX-80FT FX-100 

RX-100 



DISK DRIVES 

for the 
TRS-80 Mod 1 , 3, 4 



.;:;;;;• 




Bare Tandon 1 00-1 $1 69.95 
2 TEAC 55A in Cabinet $399 
Call or Write for Complete Pricing 



TRS-80 Mod 4 

64K, 2 Drive $1595 



RS-232 — $99.95 




Star Mi cronies Prices So Low, 

f* d l\ /I I IV I I ^ e C ant E ven 
O t IVI I IM I Pr/nf Them! 



GEMINI 10x 
GEMINI 15x 




DISKETTES $19.95 

CDC Brand, 5 1 / 4 ", 
Double Density 

Box of 10 Diskettes 



For printer prices and a FREE CATALOG, 

call our TOLL FREE, quick information 

Hot Line 

800-331-3896 

In Oklahoma, Call 918/825-4844 



THESE ARE OUR CASH DISCOUNTED PRICES CO D AND CHARGE ORDERS ARE 3% HIGHER AIL COMPUTERS ARE SHIPPED 
FREIGHT COLLECT PRICES. SPECIFICATIONS AND AVAILABILITY ARE SUBJECT TO CHANGE WITHOUT NOTICE IBM & IBM PER 
SONAL COMPUTERS ARE TRADEMARKS OF INTERNATIONAL BUSINESS MACHINES INC TRS-80 & RADIO SHACK ARE TRADE 
MARKS OF TANDY CORPORATION 



Witt 



Jiim 






^918/825-4844 SmaII 

AMERICAN Busies 

±£^ KKSfeSSS*. COMPUTERS 



NEED INFO QUICK? 

Then |usi call our automated TOLL FREE 
answering machines Leave voui name art 
dress ami phone number Requests will be 
mailert 1 si Class the same <la> Only requests 
lor product information will be processed 
all others will be disregarded by our 
answering service 

call 1-800-331 3896 

In Oklahoma C*« 

1918-825-4844 ^ 217 



CNotes 




Inside the Model 100 



by David P. Sumner 

To help you write sophisticated programs on your Model 
100, I'm providing a fairly extensive memory map, some rele- 
vant documentation, and a list of the tokens for the Basic key- 
words. 

One word of caution: It's possible that some versions of the 
Model 100 have a ROM slightly different from the one in my 
machine. You should also be aware that some locations have 
multiple uses, some of which may not be documented here. 

Running a Machine-Language Program 

You will find the addresses of several routines provided in 
the memory map useful (see Table 1) primarily for machine- 
language programs, but it's important to know how to access 
them from Basic. The secret is in the Basic command Call. To 
run a machine-language program that resides at location 
30306 (the Model 100's sound routine), type in the Basic state- 
ment CALL 30306 and you'll hear a beep. Not all Calls are so 
direct. Often you'll need to pass data to the routine that you're 
calling. The Model 100 provides nicely for this. A statement of 
the form 

CALL address.X.Y 

initiates the execution of the machine code stored at the given 
address, but first it assigns the value in X to the accumulator, 
and the value in Y to the register pair HL. Thus, the value of X 
can only be between zero and 255 (so that it can fit into the 
8-bit accumulator), and the value of Y can be any 16-bit inte- 
ger from zero to 65535. 

For example, a Call to location 32 prints the contents of the 
accumulator (considered an ASCII character) on the display. 
If you simply type CALL 32, nothing happens since the accu- 
mulator contains zero. However, if you type CALL 32,65 
you'll see the letter A appear on the screen. You've put 65, the 
ASCII code for an A, into the accumulator prior to the Call. 
The effect of CALL 32.X is the same as printing CHR$(X). In 
fact, since PRINT CHR$(7) produces a beep, CALL 32,7 also 
results in a beep. Another example: The routine located at 
10161 displays the message located at the address pointed to 
by the register pair HL. If you look at the memory map, you'll 
see that the 100 stores many messages throughout the ROM. 
For example, try typing CALL 10161,0,3442. The computer 
displays the message "extra ignored." Type CALL 



The Key Box 

The programs in "Blackjack" and "Program Length" 
wiD run in 8K RAM. 





Table 1. The memory map. 


NOTE: 


Material in single quotes 


represents ASCII text. 


A "+■ 


after a location indicates 


a 2-byte pointer. 





(RST 0) JMP 32051 


3 


'Menu' 


8 


(RST 1) Test for special 




character and fall into RST2. 


16 


(RST2) Set pointer to next 




character of BASIC text. 




(JMP 2136) 


24 


(RST3) Compare registers HL,DE 




directly 


32 


(RST 4) PRINT ASCII contents of 




accumulator. 


36 


(TRAP) Handles power-down. User 




interface at 62978. 


40 


(RST 5) JMP 4201 Checks variable 




type. 


44 


(RST 5.5) JMP 62969 


48 


(RST 6) Returns sign of FAC1. 




(JMP 13276) 


52 


(RST 6.5) JMP 28076 (62972 RAM 




vector interface) 


56 


(RST 7) Executes routine 




indicated by next byte. 




(JMP 32767) 


60 


(RST 7.5) Updates timer, adjusts 




power-down values etc. (JMP 




6962, user can interface at 




62975) . 


64 


BASIC function addresses. 


128 


BASIC Keywords with high bit set 




in the first character of each 




word. 


610 


BASIC command addresses. 


750 


Table of BASIC addresses. 


796 


2-Byte error codes. 


858 


Initial values for pointers 62960 




-63103. 


1003 


'Error' 


1010 


'in' 


1014 


•ok' 


1019 


'Break ' 


1094 


Syntax error. Other entry points 




at 1100, 1103 .. 1115 for other 




errors. 


1117 


Error message based on contents 




of E register. 


1245 


PRINTS error messages 




(accumulator holds a value from 




28 to 58) . 


1520 


Builds BASIC line pointers. 


1576 


Enter with DE containing a line 




number. Exit with BC containing 




Table 1 continued 



232 • 80 Micro, December 1983 



C-Notes 



10161,0,32676, and the TRS-80 logo will appear on the 
display. 

PEEK, POKE, and Pointers 

There is more of interest here than just the addresses of 
particular routines. Basic uses many locations to store data 
such as the values of variables, the text of Basic programs, and 
pointers that determine how the computer behaves. The 
PEEK command accesses the values in these locations, and the 
POKE command can change them. 

For instance, the location 63368 contains the horizontal po- 
sition of the cursor. If you let X = PEEK(63368) in a Basic 
program, the effect is the same as if you had used the expres- 
sion X = POS(0). Try the following short program as an illus- 
tration. (Don't overlook the semicolon in line 20.) 



You'll see the key menu displayed on the label line. Now clear 
the label line by pressing the label key again. Finally, type 
POKE 64173,0 and press the enter key. Pressing the label key 
now has no effect. If you type 

POKE 64173,255 

things return to normal. 

Many of the pointers point to addresses, line numbers, and 
other 16-bit integers. The Model 100 stores such addresses 
with the low byte of the integer followed by the high byte. For 
instance, the computer stores the line number where a break 
occurred in locations 64426-64427. To determine the line 
number just type PRINT PEEK(64426) + 256*PEEK(64427). 

To determine the starting location of the currently active 
program, type PRINT PEEK(63100) + 256*PEEK(63101). 



10FORI=lTO100 
20 PRINT PEEK(63368); 
30 NEXT I 
40 END 

If the number stored in location 64173 is zero, then you can- 
not use the label line. With a POKE command you can put a 
zero into this location. Try the following experiment. First en- 
ter Basic from the main menu and then press the label key. 



Floating Point Operations 

In order to use the floating point routines, you must first 
place the proper values in the floating point accumulators. For 
instance, to find the square root of 2 using a call to location 
12378, you must place 2 in the primary floating point accumu- 
lator FAC1 prior to the call. After the call, the value of the 
square root of 2 resides in FAC1, and you must move it to the 
proper variable. 



Table 1 continued 








the location of the line, and HL 


2902 


PRINT 




the location of the next line. 


3073 


TAB( 




The carry flag is used to 


3141 


LINE (general) 




indicate if the line exists. 


3152 


LINE INPUT 


1606 


Tokenize BASIC text. 


3188 


■?Redo from start' 


1830 


FOR 


3225 


INPUT * 


1899 


TO 


3235 


INPUT 


2112 


BASIC command dispatcher; 


3289 


READ 




accumulator holds token. 


3442 


'Extra ignored' 


2136 


Set pointer to BASIC text. 


3625 


>, = ,< 


2162 


DEF (general) 


3926 


ERL 


2177 


DEFDBL 


3966 


VARPTR 


2182 


DEFINT 


4072 


If character in M is lowercase. 


2198 


DEFSNG 




the upper case equivalent 


2207 


DEFSTR 




is returned in the accumulator. 


2267 


FC error. 


4236 


OR 


2283 


Used by GOTO, GOSUB, and RUN to 


4247 


AND 




determine the 2-byte value of 


4258 


XOR 




the line (in ASCII) to branch 


4269 


EQV 




to. The HL register points to 


4277 


IMP 




the ASCII string of digits, the 


4296 


LPOS 




16-bit integer is returned in 


4302 


POfl 




DE. 


43A5 


Store accumulator as low byte of 


2319 


RUN 




16-bit integer. 


2334 


GOSUB 


4352 


INP 


2358 


GOTO (contains a bug!) 


43M 


OUT 


2381 


Jump here if UL error. 


4398 


ASCII text (string/variable) 


2406 


RETURN 




converted to integer. 


2462 


DATA 


4411 


LLIST 


2464 


REM, ELSE 


4416 


LIST 


2499 


LET 


4514 


PRINTS from buffer until byte 


2607 


ON (general) 




is encountered. 


2612 


ON ERROR 


4522 


Put data into buffer until a 


2736 


RESUME 




byte is reached. 


2831 


ERROR 


47 40 


PEEK 


2842 


IF 


4747 


POKE 


2894 


LPRINT 


4811 


Saves registers, waits for 

Table 1 continued 



80 Micro, December 1983 • 233 



C-Notes 



IWrfcMfeMi 




character of input, and restores 




registers. 


4848 


PASTE. 


5029 


Toggles the label line. 


5138 


Break routine. 


5145 


POWER 


5169 


Power off /Returns to program on 




power -up. 


5201 


Power off 


52«9 


POWER CONT 


5225 


Sets power-down values. 


5288 


Preliminary tape I/O routine. 


5290 


Called at the end of tape I/O. 


5296 


Returns byte from tape in 




accumulator. 


5313 


Sends byte in accumulator to 




tape. 


6281 


EOF 


6404 


TIHE$ 


6436 


DATE$ 


6485 


DAY$ 


6520 


ASCII of days stored here. 


6553 


Converts byte pointed to by DE to 




an ASCII digit. Result placed in 

M. 

TIMES (as command/assignment) . 


6571 


6589 


DATE$ (as command/assignment) . 


6641 


DAY$ (as command/assignment) • 


6547 


MAX RAM 


6776 


I PL 


6814 


COM, MOM 


6851 


KEY ON/OFF/ STOP 


6927 


ON TIME$ 


7096 


KEY (general) 


7101 


KEY LIST 


7136 


PRINTS B PRlNTable-characters 




starting at address in HL. 


7182 


Defines function key. 




HL points to string, accumulator 




holds key number minus one. 


7255 


PSET 


7270 


PRESET 


7277 


Line drawing routine. 


7519 


Subroutine for PRINT @ 


7568 


CSRLIN 


7579 


MAX (general) . 


7602 


MAX FILES 


7609 


HI MEM 


7619 


WIDTH 


7621 


SOUND (general) 


7653 


SOUND OFF 


7654 


SOUND ON 


7660 


MOTOR 


7667 


Turns motor on. 


7669 


Turns motor off. 


7674 


CALL 


7714 


SCREEN 


7774 


LCOPY 


7994 


FILES 


8081 


KILL 


8247 


NAME 


8446 


NEW 


8832 


CSAVE (general) 


8856 


CSAVEs current BASIC program. 


8889 


Sends the DE bytes starting at 




location in HL to tape. 


8908 


SAVEM 


8925 


CSAVEM 


9079 


CLOAD (general) 




Tafoie I conlmued 



The routines that you need for these actions all appear in the 
map. You can use the machine code below to find the square 
root of the variable pointed to by the HL register pair. 

PUSH H ; Wc will need this address later. 

CALL 12740 ; Put the variable into FAC1. 

CALL 12378 ; Take the square root. 

POP H ; 1 told you we needed that address. 

CALL 12746 ; Replace the value by its square root. 

RET ; That's all. 

Access the program above from Basic by using the next pro- 
gram, being sure to protect it first by the command CLEAR 
256,61999. This prevents Basic from destroying the machine 
code starting at location 62000. 

5 OOSUB 100 

10 INPUT'X ";X 

20 A = VARPTR(X) + 65536 

30 CALL 62000,0, A 

40 PRINT X 

50 END 

100 FOR 1=0 TO 11 
110 READY 
120 POKE 62000+ I,V 
130NEXTI 
140 RETURN 
150 DATA 229,205,196,49,205,90,48,225,205,202,49,201 

This program assumes that you've placed the machine-lan- 
guage routine at location 62000. Line 20 determines the mem- 
ory location of the variable X, and line 30 passes this address 
to the register pair HL before executing the routine at 62000. 

Lines 100-150 POKE the machine code described earlier in- 
to memory. 

Now run the program, and you'll see that the value of the 
variable X is replaced by its square root. 

Some of the other floating point functions seem to require 
the setting of the variable type flag prior to a Call. 

tartenupts and the RST Instructions 

Like the 8080, the Model 100's 8085 chip contains eight 
restart instructions that are effectively 1-byte Call instruc- 
tions. (See Table 1.) 

Unlike the 8080, the 8085 has several interrupt routines 
known by the mnemonics RST 5.5, RST 6.5, RST 7.5, and 
TRAP. The addresses of each of these resides in the low 
bytes of ROM. However, the Model 100 allows a user to in- 
tercept these routines by placing a Jump instruction in a par- 
ticular location in RAM. These interface vectors are 
documented in the map. 

The Bask Commands 

The memory map contains the addresses of most of the Ba- 
sk commands and functions. The important thing to realize is 
that most Basic commands expect the accumulator to contain 
the next byte of Basic text upon entry to the routine. Some 
commands, such as Beep and End, aren't modified by addi- 
tional text. A simple call to the addresses of these routines has 
the desired effect. On the other hand, the actions of some 
commands depend upon the text that follows them. For exam- 
ple, consider the Key command. When this statement appears 
in a Basic program or in immediate mode, several things may 



234 • BO Micro, December 1983 



LEARN BASIC 



(It's a piece of cake) 




THE BASIC HANDBOOK 

Encyclopedia of the BASIC language 



• LEARNING TRS-80 BASIC 

for Models I, 11-16 and III 



LEARNING IBM BASIC 

for the personal computer 



LEARNING TIMEX SINCLAIR BASIC 

for the Timex 'Sinclair 1000 and ZX-81 



THE to* MODEL 100 PORTABLE COMPUTER 

A complete step-by-step learner's manual 



Please send 



BASIC Handbook * $19 95 

Learning IBM BASIC m $1995 

TRS-80 Model 100 Portable Computer «.$1995 



Learning TRS-80 BASIC «.$1995 
Learning TlMEX'Sinclair BASK <« $1 4 95 



Calif residents add 6% sales tax Shipping and handling charge S2 00 oer order (foreign orders USJ3 00) 



T«ai$ 

Address _ 
City/State/Zip 
D Check 
Account # 



Name 



□ V.sa 



MasterCard 



Expiration Date 



I I ! I I I ffl m\ 



Signature 



Ask your favorite bookstore or computer store 
for CompuSoft s DAVID A. LIEN 
books, or send the coupon at left to: 



CompuSoft" Publishms 
535 Broadway, Dept. 141283 
El Cajon, CA 92021 



« 



GUARANTEE 

If you're not totally satisfied, return the book in salable 
condition within 30 days for a refund of the purchase price. 



Or Call: 800-854-6505 619-588-0996 



for the I to- 80 from Micro- Mega 



The Original GREEN-SCREEN 




The eye-pleasing Green Screen fits over the tront of your 
TRS 80 Video Display and gives you improved contrast with 
reduced glare You get bright luminous green characters and 
graphics like those featured by more expensive CRT units 
Don't confuse the Original Green-Screen with a piece of thin 
film stuck to the face of your video tube, such as that adver 
Used by others The Original Green-Screen is mounted in a full 
frame perfectly matched to the color and texture of the 
TRS 80 Video Display It is attached with adhesive strips 
which do not mar your unit in any way 

The full frame design of the Original Green Screen "squares 
off" the face of your video display and greatly improves the 
overall appearance of your system. 

(Specify whether for Model I, Model III, or Model IV) 

THE GREEN-SCREEN $15.95 

Add $1 50 for postage and handling 



Terms Check or money order, no CODs or credit cards, please Add amount 
shown lor postage and handling to price o' the item All items shipped within 48 
hours by lirsi class or priority mail Virginia residents, add *''<• sales lax ^162 



Micro- Mega • P.O. Box B B SS • Arington, Va 



MODEL 100 OWNERS 

Tired of Waiting for 
Slow Cassettes? 

HOLMES ENG. has solved your 
problem with - the PMD-100 Por- 
table Micro Drive 
The PMD-100 is a HIGH SPEED 
Storage System for SAVING and 
LOADING programs and files on 
the M100 Microcomputer. 
USER FRIENDLY menu driven soft- 
ware and a Rom based operating 
system make the PMD as fast and 
easy to use as a floppy disk. 




$349.95 

DRIVE INCLUDES: 

Wafer tapes, battery 
charger, coiled cable, 
operating instructions 



IM-100 
8K RAM MODULES 

$75.00 each 
$70.00 each (2 or more) 

Up to 32K upgrade 

Plugs into M100 sockets 

Easy to install 



KEY FEATURES INCLUDE: 

• Up to 70K Storage per wafer. 

' Fast Data Storage/Retrieval 
(Nearly as last as disks) 

' Portable & light weight 

» ROM based operating system 

' Connects to RS232 Port 

' Rechargable Battery 

' Replacable wafer tapes 

» 16K Ram Buffer 



HOLMES 

ENGINEERING, INC. 



Bus Hours: 8-5:30 (MST) Mon.-Fri. 

10-2:00 (MST) Sal. (sales only) ** 153 

5175 Green Pine Drive Sail Lake City, Utah R4 123 
(801) 261 5652 or 24 Hr BBS (801) 263 1103 



Call For Dealer Nearest You 

Dealer Inquiries Invited 
Full warranty on all products 
Add shipping handling $1000 
US and Canada All others add 
15% Prices subject to change 
without notice. 



CNotes 



follow it. For instance, KEY ON, KEY OFF, KEY LIST, or 
KEY 5,"PRINT" are all possible. At the time the program ex- 
ecutes the command, the computer has already tokenized the 
keywords, and the Key routine expects to find the appropriate 
token or text in the accumulator. The token for ON is 151 , and 
so typing CALL 70%, 151 produces the effect of KEY ON. 
Similarly, since the token for LIST is 165, CALL 70%, 165 will 
result in the same action as if you had entered KEY LIST. Un- 
fortunately, you'll find that not all calls to Basic command 
locations respond as expected. So be cautious when ex- 
perimenting with these addresses. 

Using the Memory Map 

The examples given earlier should help you take advantage 
of much of this information. You cannot use all of the rou- 
tines in the ROM directly, however. Many of them, like the 
floating point operations, require setting up special conditions 
prior to the call. And, although I would strongly urge you to 
experiment with your computer, be sure you have saved any 
important data or programs on tape first. An inappropriate 
call or POKE can easily garble a program or cause the com- 
puter to hang. Of course, you will not damage the computer 
by such a crash, but you may be unable to restart the computer 
without using the memory kill button on the bottom of the 
computer. 

About the Map 

Notice that items enclosed in single quotes represent actual 
ASCII text. For instance, the word 'Error' is stored in mem- 
ory starting at location 1003. The letters H,L,D,E,B,C, and A 
refer to registers in the 8085. ■ 

David P. Sumner can be reached at 1009 Walters Lane, Co- 
lumbia, SC 29209. 



Table 1 continued 


9235 


Gets DE bytes from tape and 




stores them at the location 




pointed to by HL. 


9302 


CLOAD? 


934^ 


'Verify failed' 


9361 


LOADM, RUNM 


9383 


CLOADM 


9538 


Moves B bytes from address in HL 




to address in DE in an 




increasingz 




manner. 


9587 


CLOADM? 


9685 


'Top End Exe' 


9697 


'Exe: ' 


9982 


'Found' 


9989 


'Skip' 


10042 


STR$ 


10161 


PRINTS message pointed to by HL. 




Message ends in quote or 0-byte 


10444 


String addition. 


10508 


Moves L bytes from address in BC 




to address in DE (increasing). 


10563 


LEN 


10575 


ASC 


10597 


CHR$ 


10605 


STRING$ 


10638 


SPACE $ 




Table 1 continued 



236 • 80 Micro, December 1983 



for Portable, Personal and Desktop Computers 

Available for these popular 8-bit and 16-bit microcomputer formats: 



All CP'M" 8' Computers (SD) 

All IBM PC Compatibles 

TRS-80 Model 2 (with CP/M) 

TRS-80 Model 4 (with CP/M) 

Apple II (with CP/M) 

Apple lie (with CP/M) 

Franklin ACE (with CP/M) 

Morrow Micro Decision 

Northstar Advantage 

Corona PC & Portable 

Corona Portable 

COMPAQ Portable 

Hyperion Portable 

Seegua Chameleon 

Ti Professional 

Columbia MPC 

Osborne Executive 

Osborne I (SO) 

Osborne I (DD) 

DEC VT-180 

CompuPro 

Xero« 820 

IBM PC 

IBM XT 

KayPro II 

KayPro 10 

Call about 
other formats 




SATISFACTION 

GUARANTEED 

or Your 

Money Back 



Complete 

Package ol 

Software. 

Training Aids. 

Manuals, and 

Users' Newsletter 



ONLY 



"... tor several years the defacto standard for 

microcomputer software, and still a good example 

of some of the better thought-out 

software on the market. " —interface Age 



$395 

CP/M format 

$495 

IBM format 

Deskto p Accountant " 

FULL-FEATURE, FULLY-INTEGRATED ACCOUNTING SYSTEM 
Everything you need to keep the books... at a price you can afford! 

Your Bookkeeper. Accountant, and Banker will love you for installing this fine system! 



Check these features: 



This remarkably-valued Accounting System will manage 
your company's business records and automate your 
entire bookkeeping process— from the posting of indi- 
vidual transactions to producing up-to-the-minute 
income Statements. Balance Sheets, and other impor- 
tant management reports Desktop Accountant'" gives 
you a "Big Company,'' professional image with printed 
invoices, statements, and checks It is user-friendly, 
completely menu-driven, offers system-prompted 
data entry, and is compatible with both floppy and hard 
disks Feature-for-feature. and dollar-tor-dollar it is the 
best software value on the market! But don't let the 
low price fool you Desktop Accountant 7 " is not a 
"cheap'' accounting system, only Inexpensive. That's 
because original development costs were recovered 
years ago allowing us to sell an excellent product in 
high volume at low prices and still earn a fair profit This 
hlgh-c-uallty, reliable software was designed and writ 
ten in 1975 for small-lo-medium sized businesses Since 
then. It has successfully proven itself in well over 
10,000 companies in all 50 states and in 13 foreign coun- 
tries It is also used and recommended by hundreds ot 
bookkeepers, accountants and CPA's. including the 
regional offices of several famous "Big Eight'' account- 
ing firms! No other Accounting System offers you so 
many features, benefits, and valuable extra services You 
can pay more but you can't buy more 1 Desktop 
Accountant™ is backed by our 30-day. no-risk, money- 
back guarantee of 100% customer satisfaction! Call lor 
free literature or order now with complete confidence. 



Read What Users Say... 



' 'Two hours after receiving the Desktop Accountant I was 
up and running live data, and generated an entire month t 
work and financial statements the following day." 
-J C Bartes President 

' 'To get anything better we would have had to spend 
multiple thousands of dollars. I think It's a dynamite 
package tor the money." 

-Bob Cox V P General Mgr Linens 

(mani/actunr»} company! San Antonm. reus 0* f*f 



Here's what you get: 



1. A professional-quality, full-feature, fully-integrated 
accounting system 2. Six-to-lourteen diskettes 
(depending on your system's disk storage capacity) 
3. Four easy-to-follow, self-leaching User's Manuals 
(over 540 pages') that are highly rated by satisfied 
users. 4. An exclusive, new audio cassette tape with 
step-by-step Instructions for quick installation and 
start-up S. "Read Me First" a unique 40-page system 
guide and start-up aid 6. Complete sample data and 
sample reports lor practice and training a Dig help 
to new users 7. FREE 1-year subscription to Users' 
Newsletter, Debits and Credits ' it's full ot tips, ideas, 
news, and useful suggestions from us and other users 
Recent issues have run over 20 pages long 1 8. FREE 
complete Source Code in popular M BASIC so you can 
easily customize any program to suit your special needs 

9. Telephone "Hot Line" service for helpful Installation 
support, Start-up support, Technical support, and Train- 
ing support The quality of our cheerful customer sup- 
port has been acclaimed "excellent,' ' "first-rate." and 
"very courteous and professional" by our users 

10. Access to our growing network of Experienced 
User Consultants™ in both the U S and Canada 
These qualified, knowledgeable businesspeople 
themselves own this fine software and are available to 
assist you with almost any aspect of installation, train- 
ing, operation — or even customization if desired. You'll 
receive the latest Directory of these helpful Consultants 



Look who's using it: 



Here is a sample (taken from our customer Mes) of the 
wide variety of businesses successfully using this time- 
tested, solidly-established, user-proven software 

• DooaattftfiQ sTvic — • Ca*aVAccou'«ng hrm% • Construction ctampeVMen • 
Whoa—jet Ftor«U • Rata»l fionatt • PrwitsVt • bntturanM A^anCXM ' Shopping 
Cmrten • Machine Snope ■ EngknOTtftQ *'•«• • $o(*«*y* Cornpavv*-. • Cc-ifM** 
reaH>a»i» • PuMfW* • Faweaaal twrvCaM C O r w pdH— ■ • Inv — IP rt • AOPt-BrK* s»rv 
c« »•*• • 0«»*t • BoN«n»OfU • Urwtfirty »uW ■■■ School • Catftofcc Doc— 

• Bftpft* Vknttmnam • S*. Matt* • ComaMac*-* Howw ■ Car eVaa* • Puohc 
LaWY • Carnani P-am • tnd wia t pfoductt rrwiu i ac i unnaj co—paw en • Mortuary 

• Coal Company ■ Tvf *m proauca*. and awnojton • Gar.*** S«on> (in Aiaafeai) 

• Maaft sarvK-M o*gan-Hia3-i • Oownmani Aganoaa • f*au.o>0 and Tap* Doras 

• Trado Aaaooatori • QVapnca *>rm* • C**oa product* co«ipan»*a • Rsat Eataia 
ftrma • C* Product* dMnoulo* • Inalrumant Company • Haxvauhc PtoduO* OOm- 
pan. - Outdoo* EapsdMor* oonwany • Many lypaa ot aonoo* - Crwopraoor* • 
Pnyaciana e Landacapart - Last fcr-a • Waa t a u *a*ta • Piwnb.no, Compan>ao • 
naamaiJ • Farmam • tawa • Conauaanu • and many many, mca* 



Call for FREE LITERATURE, including sample reports, comparison chart, user letters, etc. 
Not sold in stores • Order today by Mail or Phone • Phone Orders Filled Promptly 



Orders. Questions, and Literature Requests CALL NOW. TOLL-FREE 



♦B» 1-800-832-2244 

■_ n 1 ill. ...It 4 OAA TOO 1111 



Please mention 
Ad #120-V 



VISA . 

In California call 1-800-732-2311 

Technical Support Hotline (8 AM to 5 PM, Mon.-Fri.): (415) 680-8378 "" 

Send Orders To: 1280-C Newell Avenue, Suite 147-V, Walnut Creek, California 94596 

ring piaaai 



A Complete System! 

includes all four standard general accounting programs: 

GENERAL LEDGER is completely integrated to automatically post 
end-of-month transactions from A/R. A/P and Payroll II prints 1 3 detailed 
reports tor the entire company, and optional Income Statements for up 
to 99 departments. It produces up-to-the-minute comparative financial 
statements with current, year-to-date, budget, and last year (month and 
YTD ), showing both dollar amounts and percentages, and presents 
everything you, your bookkeeper, and your accountant need to know about 
the company • G/L automatically reconciles all accounts, and mam 
tains extensive, detailed audit trails showing the source of each G/L entry 
for quick, easy, tracing • Trial Balance includes all transactions • Flex- 
ible Chart of Accounts • True double-entry bookkeeping • Master File 
capacity 400 Accounts • Monthly Transactions capacity 1 ,000 with 200K 
diskette; 3,500 with 500K diskette; 7.000 per Megabyte with a Hard Disk 

ACCOUNTS RECEIVABLE provides Instant, on-line customer 
account information (both current and aged), with complete, timely 
invoicing, including open-item (or balance forward) and statement 
capabilities It makes the entire billing process fast. easy, and efficient 
It quickly identifies your overdue accounts, helps speed collections, helps 
control your cash flow, and assists you in making better financial deci- 
sions Both detailed and summary customer activity and aging reports 
are instantly available • Preprinted forms available for invoices and 
statements • Detailed audit trail • Maintains comprehensive customer 
data tiles a Produces B reports and documents • Includes automatic 
periodic customer/client billing option which is xleal for service businesses 

• Itemized monthly transactions a Master File capacity 400 Customers 

• Monthly Transactions capacity 800 with 200K diskette; 3.500 with 500K 
diskette 7.000 per Megabyte with a Hard Disk 

ACCOUNTS PAYABLE maintains complete vendor/voucher 
history and includes check-writing capabilities Current and aged 
payable reports are available upon command It prepares an extremely 
useful cash flow/cash requirements report that greatly improves 
management control of your most valuable resource— cashl It pnnts 
checks (on commercially available forms on which your company name, 
address and logo can be Imprinted) with comprehensive check stubs 
that your vendors will appreciate a Produces 1 1 reports and documents 
a Automatic pay selection program allows payment by due date or by 
discount dale a Manual and automatic checkwriting a Check register 
a Detailed audit trail a Itemized monthly transactions • Master File 
capacity 400 Vendors • Monthly Transactions capacity 800 with 200K 
diskette, 3,500 with 500K diskette; 7.000 per Megabyte with a Hard Disk. 

PAYROLL is a complete, easy-to-use professional-quality payroll 
system Be the office hero each week when the checks come out on time 1 
This program calculates payroll for every type of employee (hourly, 
salaried, and commissioned) and prints payroll checks (with popular, 
comprehensive check stubs) with an absolute minimum of input Your 
company name and logo can appear on these, too a Stores and reports 
comprehensive employee and payroll information a Maintains monthly. 
quarterly, and yearly totals tor reporting purposes in multiple stalest') 

• Offers user-maintainable Federal, State, and local tax tablea(') • 
W-2 printing a 941 Reporting a Produces 10 reports and documents 
a Master File capacity 400 employees An outstanding Payroll package 1 



Produces 42 Reports & Documents: 



General Ledger I, Chart ol Accounts J. Chariot Accounts with summary dollar 
amounts 3. Chart ol Accounts with pnor year comparisons 4. Darty Transactions Report 
S. Itemized Monthly Transactions S. Balance Sheet 7. Balance Sheet with poor year 
comparison S. Income Statement •- Income Statement with prior year comparison 
10. Departmental Income Statements! 11. Departmental Income Stakwneni(s) with prior 
year comparison 12. Detail report tor individual accounts 11. Trial Balance Statement 
Accounts Receivable I. Da*y Transactions Report 2. Invoices (with or without 
preprinted lorms) J. Statements (with or without pre-prnted lo<ms» 4. Summary Aging 
Report S. Delated Aging Report t. Itemized Monthly Transactions 7. Detailed Customer 
Activity Report a. Summary Customer Account Report 

ACCOUntS Payable I. Daily Voucher Report 1. Daily Credit Report 1. Checks 
with Detailed stubs 4. Check Register S. General Ledger Transfer Report S. Cash 
Requirements Report 7. Transaction Register a. Open Voucher Report S. Aged Payables 
Report 10. Detailed Vendor Activity Report 11. Summary Vendor Account Report 
Payroll I. Federal Ta> Tables 2. Stale Ta> Tables 1. Payroll checks with stubs 
4. Payroll Check Register S. Monthly Payroll Summary S. Quarterly Payroll Summary 
7. General Ledger Transter Report a. Detailed Employee File Listing 0. Produces 941 
Worksheet 10. Pnnts annual W-2 Forms 

System Requirement*: Either CP/M' or MS-DOS (PC-DOS) a 
Microsoft BASIC a 64K RAM a Two disk drives or hard disk a 1 32 column 
wide carnage printer, or an 8 V> " x 1 1 " printer with compressed print mode 
(an Epson MX-80 or similar printer) 



r appaanno naar our laiapnona ruimbai ■ Ordara tfilop.0 -lINn IS houra via UPS • AOd IS 00 lor 
tatter JO.. Ruah Air SaVrica • CeWortU Mum KM • ■»*» Satea Tan • ••.•"••'• T V»* MaaterCart COO'MO.CaatHafa OteCA ■ All Brand Namaa an manutac 

' * eaa or write oafora ordartog i 



100% SATISFACTION GUARANTEE 

No-Risk. 30-day Money-Back Guarantee 
Order Desktop Accountant and evaluate it yourself for 30 days Test the 
performance Of each program using our comprehensive Sample Data Files 
to enter and process data, query accounts, punt checks and reports and 
more. Review the rive User's Manuals, hear the Training Tape, read the 
users' Newsletter, even call our Technical Support Group with your ques- 
tions Vtou must be completely satisfied with Desktop Accountant or you 
may return it in good condition with the Sealed Master Dish UNOPENED 
lit installs your live data) lor a prompt courteous, complete refund' 



A\ 



ROCKY MOUNTAIN 
SOFTWARE SYSTEMS 

Spec a 5'b m Arcojn*>nq Software 



tuoiri r»gt«te**d Trade Ma'** ' 



> M-M lo Ovate** < Foreign ofdex* aa e ia* c 



l«3 Roekry l*©unta.n Software Syaierna. 



• See List of Advertisers on Page 291 



80 Micro, December 1983 • 237 



CNotes 



Table 1 continued 






10667 


LEFT$ 




FAC1. 


10716 


RIGHTS 


12746 


Moves FAC1 to address in HL. 


10726 


KIDS 


12852 


Saves FAC1 on the stack. 


10759 


VAL 


12892 


Floating point constants. 


10807 


INSTR 


12942 


.25 


11084 


FRE 


12974 


pi/2 


11113 


FAC1 < — FAC1-FAC2. 


12990 


Square root of 3. 


11128 


FAC1 < — FAC1+FAC2. 


13015 


1 


11519 


FAC1 <— FAC1*FAC2. 


13203 


2*pi. 


11719 


FAC1 <— FAC1/FAC2. 


13298 


ABS 


12006 


Moves C bytes starting from 


13309 


Negate FAC1. 




address in HL to address in DE 


13319 


SGN 




in a decreasing manner. 


13417 


Moves B bytes of memory from 


12015 


cos 




address in DE to address in HL 


12041 


SIN 




in an increasing manner. 


12120 


TAN 


13426 


Moves B bytes of memory from 


12145 


ATN 




address in DE to adress in HL 


12239 


LOG 




in a decreasing manner. 


12378 


SQR 


13569 


CINT 


12452 


EXP 


13610 


CSNG 


12606 


RND 


13754 


CDBL 


12686 


MOVE FAC1 to 64633-64640. 


13893 


FIX 


12692 


Adds memory to FAC1. 


13908 


INT 


12698 


Subtracts memory from FAC1. 


14804 


PRINTS the 16-bit integer stored 


12704 


FAC1 <— FAC1*FAC1 (squares FAC1) 




in the register pair HL. 


12707 


Multiplies memory and FAC1. 


16288 


TIMES ON 


12725 


Moves FAC1 to FAC2. 


16306 


TIME$ OFF 


12728 


Moves number at address HL to 


16313 


TIME$ STOP 




FAC2. 


16393 


Clears COM and TIMES locations. 


12737 


Moves FAC2 to FAC1. 




Clears KEY definitions 


12740 


Moves number at address HL to 




and sets 63060 to TM . , . 

Table I continued 



INTRODUCING 



TELE-STOCK 



i 



far TRS-tO* M*d 100 



■ayz ':opp. 
99/97 

Oct. Bid 
Chtrrtt 



Ste 



'V"' 1 






STOCK MARKET DECISION ASSISTANCE 

1 2 to 24 hours ahead of the newspaper 
at less than the cost of the newspaper. 
Your Model 1 0X) automatically calls the 
Dow Jones News Service immediately 
following the close of the market each 
day. retrieves the market activity for 
your investments (it takes about 1 
minute and cost 15-30 cents), then 
displays and prints for each investment: 

• Totoys Actmiy 

•45d*r historic*/ graph shorn** HIGH, LOW. 
CLOSE. VOLUME 

• Rrtrnn §m lmnstm**t 

The cost of the daily service, this sol- 
ware and even your T RS-80 may be tax 
deductible when used for this purpose 
(consult your tax advisor for details) 
IMPROVE YOUR INVESTMENT PERFORMANCE 
for only $59.95 (Ca. residents add 6% 
tax) on cassette with manual. 
Send check, money order or VISA/MC 
number with expiration date to: 

TELESOFT 

P.O.B0M $m 

ntmmO 0*kx Cm, 91359 „ 15 

or c»H 805/499 6271 

■Requires 24K Model 1 00 with direct connect or acoustic 
cable TRS-80 is a trademark of the Tandy Corporation 



JM?ACTOK 



8' 10B ZOLOSTONE 




>ou a*e the CONN* oc» or the im*acto». 

A VITAL AESEAKCh B- SE within The »n«f 
ThD*E 411* J INNC* Cilff. IT IS u* TO rou 
TO AE*El '*€ EnE"' in TO The ouTta :o*E. 
BErOAE Tnfr c*US* h£ Imp AC to*. But 
3£»-»{ or thf Ete*i*L BOUNCING DOT. 

impacto* is * hic* speed, -achine 

.AnGUAGE 0**E. 

-00EL I t III ItK APE tll.tS 

hooel :« ;;; ji* . :s* tu.ts 



10" Br BILL tOOIS N- 

*0*' IS A -aChIn. LANGUAGE **0G»An 
THAT wl LL ALLOW 0U TQ CO*' «0S T AN' 
SINGLE L0AO m»C NE LANGUAGE ••flCiw. 
ON CASSETTE. *0* *lLL ALLOW THE *ODEL 

III USE* to CO*' a nocua IN AT 

SOOHS00 BAUD. A, CO*' IT BACK OUT AT 

saonsoo bauo. *■*•> shows rjic«<><, 

STAKTING 400*.. OTAL BrTE COUNT. 
ENTEA AOD*.. AND *LL0*S FQ* -ULTI*LE 
DumPS. 

»00El I I III 16 TA*E J>.»5 



THE SOFTWA \E EXCHANGE 

WIS COM TON MAD 

CLEVELAND f TS.. OHIO 44111 



f 28 



400 11.30 •£» ITE- *0E*ED ro* s*« 

4l. o»of»s shi**eo r»s* :l*ss «*•;. 

INCLUOE CHECK Of h. . • ZOO: 40C S2.0C 
OHIO *ESI0EN'S 400 ALES TAI 
- DEAlEAS INVITED - 



LARGE CAPACITY „ 

ACCOUNTING PROGRAMS J 



ACCOUNTS RECEIVABLE 

5000+ CUSTOMERS 
1 5000+ TRANSACTIONS 

BALANCE FORWARD 99 TRANSACT. CODES 
30-60-90-120 AGED. STATEMENTS SHOW 
DATE/INV#/DESCRIP/AMT(WITH AGEING) 
SELECTIVE FINANCE CHARGES & RATES. 
FAST ENTRY POST'NG W/AUDIT REPORT 
SUB-ACCTS. % OF CREDIT LIMIT DATE OF 
LAST PAYMENT SALES ANAL YSISSPECIAL 
90 DAY ACCOUNTS LABELS 

GENERAL LEDGER 

400+ ACCOUNTS 
5000+ TRANSACTIONS/MONTH 
NO OTHER SYSTEM OFFERS... 

t REPORT FLEXIBILITY/CAPACITY 
t DEPARTMENT P & L(UP TO 9) 
t USE 100+ SUB-TOTALS 
t STATEMENT OF CHANGES (ASSETS) 
t PERCENT P4 L + ACCOUNT DETAIL 

1 49.95 Each • Both for 1 99.9 5 

Both Programs... 

- Run on Model 1.3/4. LNW. LOBO 

- Require Only 2 Drives 

- Come with Sample Data 

- ARE AVAILABLE for Hard Disk 
- 100% Written in BASIC 

- Require 80 Column Printer " 355 

Ask About Our Other Programs 



He D. P. 

2059 West Lincoln 
Oroville, CA 95965 
916 -533-5992 



Add S3 00 
Shipping & Handling 

Postman Collects 
Cash If Sent COD 

VISA or M/C 



N1X8AS AJJOVdVO lOMVl MIMAS Ah 



238 • 80 Micro, December 1983 



CNotes 



Table 1 continued 








15758 






printer. 


16511 


RESTORE 


19360 


Sends carriage return to printer 


16538 


STOP 


19434 


INKEY$ 


16543 


END 


19659 


OPEN 


16602 


CONT 


19R24 


LOAD 


1662^ 


Determines if HL points to an 


19«25 


MERGE 




alphabetic character. 


19919 


SAVE 


16626 


Determines if the accumulator 


20008 


CLOSE 




contains an alphabetic 


20110 


INPUT$ 




character. 


20591 


LFILES 


16633 


CLEAR 


20725 


'CRT CAS COM WAND LPT MDM RAM' 


16756 


NEXT 


20806 


TELCOM program. 


16930 


PRINTS CHR$(lT)+CHR$(lfl) 


20558 


Enter here or one of 20561, 


16937 


BEEP 


20563. 


..20579 in case of file errors. 


16941 


PRINTS CHR$(11) 


20593 


DSKO$ 


16945 


CLS 


20595 


DSKI$ 


17001 


Turns on reverse video. 


20860 


'Telcom* 


17006 


Turns off reverse video. 


20869 


•STAT' 


17008 


PRINTS CHR$(27)+CHR$ of 


20874 


'TERM CALL RFIND MENU' 




accumulator . 


20900 


'Find Call Stat Term Menu' 


17034 


Clears the label line. 


20906 


1 x pps * 


17064 


PRINTS label line. 


21060 


'Calling' 


17994 


Puts input data into input 


21890 


'Full Half Echo' 




buffer. 


21909 


•Wait' 


18315 


DIM 


22353 


'File to upload File to download 


18320 


Get variable name and type. 


22385 


'aborted' 


18833 


USING 


22396 


'No file 1 


19268 


PRINTS ASCII character in 


22406 


'Disconnect' 




accumulator. 


22417 


PRINTs message. Sends a cr if not 


19322 


Sends byte in accumulator to the 




at start of a line. 

Table I continued 



This Prescription 
Will save the life of 
your VISICALC ! 

— Don't Buy a New Machine to Run it On 

— Don't Buy a New Spreadsheet Program 



BUY VISICALC 

ENHANCERS from 
SOLUTIONS 

Oclober 1983 Poplar Computing 
inloWwk) September S 1983 



£T2X* 



SYMPTOM: Desperate need to sort the rows or 
columns of a VisiCalc spreadsheet 

T! SORT™ from SOLUTIONS 

SY1 CPTOM: Bleary Eyes from trying to print a good 
looking report from VisiCalc 

*X : REPORT™ from SOLUTIONS 



V. 



SORT 



T 



J 



Sort it 
spread 
■ Rjrrru 
Of COli 
'Sort a 
• Sort ir 
■Use ui 
ties or 



i rows or columns ot your VisiCalc 

.heet 

is and values move with each row 

nr 

)habetically or numerically 
ascending or descending order 
to lour additional keys to Dreak 

soecity secondary sorts 



Both are tollable lot IRS 80" Models 
I/II/12/16. I . Apple - II + . HE. HI and lor trie 
IBM PC " d'Xl tornpdliOieb 



REPORT 

• Print with vanaDle width columns 

• Segment large spreadsheets into 
multipage reports 

» Repeat columns and rows and multipage 
reports 

» Eliminate unwanted columns 
•Align decimal points 

• Center or justify labels and values 

» Add titles and page numbers to your 
report 

• Write reports lo disk tor later printing or 
transmission 



Solutions, Inc. 

13 State Street. Box 989. Montpelier, Vermont. 05602. Telephone (802)229-0368 

Seno Tie a Free Brochure 
PLEASE END ME THE FOLLOWING SOFTWARE 
SORT 8900 REPORT S7900 



. Send i ie BOTH SORT and REPORT lor $15800 
ALSO AV. ILABLE <SA/E $10) 

Dow J >nes Spread Sheet Link $27900 

GL Br ige $19500 



Payment Method Preferred 

Check or Money Order Enclosed 

Charge My Credit Card Visa MasierCard 

Card no Exp Dale I 

Signature 

Name 

Address 

City _ 



Slale. 



Zip 



I 



Include 2 00 lor US shipping ana handling 
VisiCakr* is a trademark ol VisiCorp TRS-80" is a trademark of Tandy Corp IBM F : ".' is a trademark of IBM Corp Apple- is a trademark of Apple Computers. Inc ^ 276 

■s~u,totA*mrtismsonfge29i 80 Micro, December 1983 • 238 



CNotes 



Table I continued 






22423 


MENU 


27611 


Moves BC bytes from address in HL 


22574 


PRINTS number of free bytes. 




to address in DE increasing. 


22580 


PRINTS 'Select:' and responds 


27636 


•BASIC TEXT TELCOM ADDRSS SCHEDL 




appropriately to input. 




Suzuki Hayashi' 


23128 


PRINTS starting at address in HL 


27721 


BASIC (as called from MENU) 




until a zero byte is reached. 


27795 


Temporarily saves the function 


23164 


Sets up function keys* 




keys. 


23273 


Months stored in ASCII. 


27804 


Restores the function keys. 


23312 


'Microsoft' 


29156 


Adds a character to the keyboard 


23332 


'Select:' 




buffer. 


23366 


Original key definitions stored 


29250 


Returns ASCII of keypress in the 




here. FILES LOAD" SAVE " RUN 




accumulator; 




LIST MENU 




does not wait-returns 


23400 


ADDRSS (program) 




if no keypress. 


23407 


SCHEDL (program) 


29381 


SOUND routine. DE contains pitch, 


23450 


PRINTS 'Not found press space bar 




and B contains duration. 




for menu" 


29772 


Turns on the pixel (x,y) where D 


23758 


AD^RS.DO 




contains x and E contains y. 


23767 


'Not found' 


29773 


Turns off the pixel (x,y) where D 


23852 


•Call' 




contains x and E contains y. 


23920 


PRINTs date and time at top of 


30326 


Toggles the speaker. 




screen and updates it until a 


30306 


Equivalent to BEEP. 




key is pressed. 


30481 


Character set 5-bytes each. 


24046 


TEXT (program) 


31729 


Keyboard matrix 


24051 


Requests a file to edit. 


32A51 


Initialization 


24085 


'File to edit' 


32231 


Initialize pointers (cold start) 


24106 


'FIND LOAD SAVE COPY CUT SEL 


32422 


PRINTs TRS-80 logo. 




MENU' 


32428 


PRINTs number of free bytes. 


24145 


EDIT (program) 


32523 


MAX FILES= 


24367 


Waits for a space keypress and 


32664 


* bytes free' 




then returns. 


32676 


TRS-80 logo stored in ASCII. 


24376 


'Text ill-formed' 


40960- 


62959 User RAM in 24K machine. 


24395 


'Press space bar for TEXT* 


62964+ 


HIMEM value. 


24753 


'Memory full 


62966 


Code called at 32145 and 32197. 


26051 


Moves memory starting at address 


62969 


RAM vector for RST 5.5. 




in HL to address in DE until a 


62972 


RAM vector for RST 6.5, 




byte is reached. 


62975 


RAM vector for RST 7.5. 


26062 


'No Match' 


62978 


JMP 516 9 


26071 


'String' 


62981 


Code called at 32108 and 32292. 


26380 


'Width' 


62991 


Code called at 896. 


26421 


'Save to: ' 


63012 


Code 


26579 


'Load from: ' 


63024 


8-bytes KEY ON/OFF flags; 0N=1 

Table 1 continued 



MODEL 

100 

ASSEMBLER 

$22.95 

Requires 16K Ram 
Assemble to Tape or Ram 
Available on Tape or Disk 
Extensive Documentation 

CUSTOM SOFTWARE 

605 North C» #2 
Wei linfitont KS 67152 

316/326-6197 " 49 















8K MEMOFY MODULES 
FOR THE IrlODELlOO 
PORTABLE COMPUTER 






$8! each 
2 or mo e $80 each 

Exact Replacen ent for RS Memory 

Easy to Install 

Warran y Included 

VISA and MC Accepted 




_ 


iota systems 

1690 De ' Valley Road 
Aptos CA 95003 
(408 684-0482 

Prices Subteci To nange rtitnout Notice 
TRS-flO is a trade" irk ol Tandy Corporation 


J 



SCRIBE 

REAL 
WORD PROCESSING 
CAPABILITY 

for the 

Radio Shack TRS 80 

MODEL 100 

Portable Computer 

USES ONLV 2K RAM STORAGE 

$24.95 

PLUS S 2.00 HANDLING 
Chattanooga Systems Associates 
P.O. Box 22 2 61 
Chattanooga, TX 37422 

DEALERS INQUIRE ¥m 



240 • 80 Micro. December 1983 



CNotes 



Tabk 1 continued 

OFP=0 

63033 Vertical Print position to 7. 

63034 Next horizontal print position 0- 

39. 

63035 Number of active lines 0-8. 

63036 Number of active columns 0-40. 

63037 Label line flag; 0«unused, 

255=used. 

63038 Inhibits return to first line if 

not zero. 

63040 Cursor line. 

63041 Horizontal print position. 
63048 Reverse video if not zero. 

63054 x-pixel set. 

63055 y-pixel set. 

63063 Power-down value (constant) . 
63070 Code (to 63078) 
63079 OUT/INP self-modifying code. 
63090 Error code 

63092 Value of LPO« 

63093 Output flag; 0=display, 

1 "printer. 
63096+ Top of available RAM. 
63098+ Current BASIC line number; 65535 

stored here if no program is 

running. 
63100+ Start ot current BASIC program 

text. 

63104 End of statement marker (: OR 0) 

63105 Multi-purpose buffer area. 

Tokenized text starts at 63105. 
Input buffer starts at 63109 and 
extends to 63362. 

63368 Value of P0« 

63369 Function key definitions 

currently active, (extends to 

63497) 
63498 Function key defintions used by 

BASIC, (extends to 63626) 
63628+ Pointer to start of PASTE text. 
63639 Start of work area. 
63785 Day of the month low digit here, 

high digit in 63786. 

63787 Current day of the week 

(e.g. 3>wed.) 

63788 Current month - decimal 1 to 12. 

63789 Current year stored with low 

decimal value here and the high 
decimal value in 63790 

63791 Timer; decreases from 125 to 0. 

63792 Timer decreases from 12 to 0. 

63793 Power-down countdown value 

(varies) . 

63795 Tne computer stores the current 

time starting here with the low 
digit of the number of seconds. 
A numerical value - not ASCII. 

63796 The hiqh digit of number of 

seconds. 

63797 Low digit of number of minutes. 

63798 Time and date continues here with 

one decimal value per location. 
63805 6-byte value of TIME$ for ON 

TIMES statement (in reverse 

order) . 
63812 COM ON/ OFF flag. 
63813+ Address of COM ON routine. 
63815 TIME$ ON/ OFF flag. 
63816+ Address of TIME$ ON routine. 
63818 ON/OFF flag and routine address 

Table I continue 



Continuous 
Checks, 

Statements, 
and Invoices 

for Desk-Top Computers 

• Compatible with software from over 300 
sources. Or program to NEBS standard 
forms yourself. 

• Continuous Micro-Perf™ Letterheads and 
matching continuous Envelopes provide 
a clean, trim look. 

• Also, diskettes, continuous labels, other 
supplies and accessories. 

• Our policy is to process forms printed 
with your name within 6 working days. 
Then ship direct to you (We pay shipping 
charges on prepaid orders). 

QUALITY PRODUCTS 

SMALL QUANTITIES AT LOW PRICES 

MONEY-BACK GUARANTEE 

FREE Full-color, catalog 

fast service by mail or phone 
TOLL FREE 1 + 800-828-9550 

(Mass. residents 1 + 800-922-8560) 

| NAME/TITLE I PHONE ( 



COMPANY 


STREET 


CITY. STAT£\ ZIP 


SOFTWARE BRAND PACKAGE* „ . 

1 — 1 DO OWN 

1 1 PROGRAMMING 


COMPUTER BRAND MOOEL 


PLAN TO PURCHASE WITHIN 


YOUR LINE OF BUSINESS 


NUMBF.R6fEMPl6yEES 


i m6sT <5f7en use 1 mV c6mputer for- 





□ 



WORD PROCESSING 



□ 



ACC0UM1 NO 



□ 




15111 



cJ^fesa— -«- 



_ j 




* See Utt Ot Advertisers on Page 291 



80 Micro, December 1983 • 241 



CNotes 



Table I continued 

of function keys; 3 bytes per 
key. (extends to 63841) 
63842 Files in the format: address, 6- 
character name, 2-byte extension 

63898+ Address of BASIC program that has 

not been saved to RAM. (Suzuki) 
63909+ Address of Hayashi f points to the 

end of documents. 
64173 Label line enable flag; enabled 

if not zero. 
64175 Name of IPL program. 
64190+ Used for temporary storage of 

stack pointer. 
64208+ Length of CLOADed/CSAVEd program 
64357 BASIC variable type. 
64404+ Line number of active DATA 

statement. 
64409+ Location of BASIC variable for 

assignment statement. 
64411+ Start of current BASIC statement 
64413+ 2 less than value in 63096-63097 
64415+ Line where error occured. 
64417+ Most recently entered/listed line 

64419+ Location of statement where error 

occured. 
64421+ Location of ON ERROR GOTO line. 
64423 Error status flag. 
64424+ End of BASIC expression. 
64426+ Line where Break occured. 
64428+ Location after error (contains 

or 58) . 
64430+ Start of documents. 
64434+ Start of variables. 

The region from 64536 to 64640 is 
used for floating point computations. 

64536 FAC1 (floating point accumulator) 

8-bytes. 
64617 FAC2 (floating point accumulator) 

8-bytes. 
64642 Maxfiles. 
64659 Name of current BASIC program; 6- 

bytes. 
64668 Name of program loaded from tape; 

6-bytes. 
64904 Start of date and time stored in 

ASCII. Used for Menu display. 

Not used for TIME$. 
65024 Start of screen memory. 

65348 Sound flag; on=0, off=175. 

65349 Cassette on/off flag. 

65424 Holds the value 2 as long as a 
noncontrol key is held down. 

65429 Devoted to the number keys. Also 
uses location 65430 

65431 Bits are set here according to 

which ot the following keys are 
pressed: SPACE, DEL, TAB, ESC, 
PASTE, LABEL, PRINT, ENTER. 

65432 Pressing a function key sets the 

corresponding bit in this 

location. 
65441 Behaves like 65432. 
65*42 The following keys set bits in 

this location: SHIFT,CTRL,GRPH, 

CODE, NUM, CAPS LOCK. 



65446 Code (not ASCII) for most 
recently pressed key. 

65450 Number of characters in keyboard 

buffer. 

65451 Keyboard buffer (32 byte maximum) 

Odd bytes contain ASCII values. 
A 255 in an even byte indicates 
a function key. 
65515 Used to store 5-byta character 
code. 



Token 


Keyword 


Token 


Keyword 


Token 


Keyword 


128 


END 


171 


DATES 


213 


AND 


129 


FOR 


172 


DAYS 


214 


OR 


130 


NEXT 


173 


COM 


215 


XOR 


131 


DATA 


174 


MDM 


216 


EQV 


132 


INPUT 


175 


KEY 


217 


IMP 


133 


DIM 


176 


CLS 


218 


MOD 


134 


READ 


177 


BEEP 


219 


\ 


135 


LET 


178 


SOUND 


220 


> 


136 


GOTO 


179 


LCOPY 


221 


= 


137 


RUN 


180 


PSET 


222 


< 


138 


IF 


181 


PRESET 


223 


SGN 


139 


RESTORE 


182 


MOTOR 


224 


INT 


140 


GOSUB 


183 


MAX 


225 


ABS 


141 


RETURN 


184 


POWER 


226 


FRE 


142 


REM 


185 


CALL 


227 


INP 


143 


STOP 


186 


MENU 


228 


LPOS 


144 


WIDTH 


187 


IPL 


229 


POS 


145 


ELSE* 


188 


NAME 


230 


SQR 


146 


LINE 


189 


KILL 


231 


RND 


147 


EDIT 


190 


SCREEN 


232 


LOG 


148 


ERROR 


191 


NEW 


233 


EXP 


149 


RESUME 


192 


TAB( 


234 


COS 


ISO 


OUT 


193 


TO 


235 


SIN 


151 


ON 


194 


USING 


236 


TAN 


152 


DSKOS 


195 


VARPTR 


237 


ATN 


153 


OPEN 


1% 


ERL 


238 


PEEK 


154 


CLOSE 


197 


ERR 


239 


EOF 


155 


LOAD 


198 


STRINGS 


240 


LOC 


156 


MERGE 


199 


INSTR 


241 


LOF 


157 


FILES 


200 


DSKIS 


242 


CINT 


158 


SAVE 


201 


INKEYS 


243 


CSNG 


159 


LFILES 


202 


CSRLIN 


244 


CDBL 


160 


LPRINT 


203 


OFF 


245 


FIX 


161 


DEF 


204 


HIMEM 


246 


LEN 


162 


POKE 


205 


THEN 


247 


STRS 


163 


PRINT 


206 


NOT 


248 


VAI. 


164 


CONT 


207 


STEP 


249 


ASC 


165 


LIST 


208 


+ 


250 


CHRS 


166 


LLIST 


209 




251 


SPACES 


167 


CLEAR 


210 


• 


252 


LEFTS 


168 


CLOAD 


211 


/ 


253 


RIGHTS 


169 


CSAVE 


212 


A 


254 


MIDS 


170 


TIMES 










• Basic reads ELSE 


as.LSE, withLSE = 


145. 






Table 2. Basic keywords and tokens. 





242 • 80 Micro, December 1983 



It's Simple. . . CALL AND SAVE MONEY 



1-800-841- 



CONVENIENT 
ORDER ENTRY 

GA. INFO. 912-377-7120 



"Telemarketing Works For You" 



£s commodore 

CALL FOR BEST 

PRICES ON 
COMMODORE 

COMMODORE 64 

VIC 1541 DISK DRIVE 

VIC 1530 DATASETTE REC. 

VIC 1525 GRAPHIC PRINTER 

VIC 1520 COLOR PLOTTER 

VIC 1600 VIC MODEM 

VIC 1701 COLOR 14" MONITOR 

COMMODORE 64 SOFTWARE 

HESWARE SOFTWARE 

WORDPRO PLUS 3 



$ CALL 




• PURE RADIO SHACK EQUIPMENT 

% 



UP 
TO 



20 



AND 
MORE 



DISCOUNT 

***CALL FOR PRICES*** 
ON COMPLETE LINE 



IBM COMPATIBLES 

YOUR CHOICE 

eaGie pc 

COLUMBIA PC 
CORONA PC 

SCALL 



RB ROBOT 

RB5X *CALL 

ARMATRON 

ROBOT ARM 
•29 



EPSON 

PRINTERS 
FROM 'CALL 

FX-80 SAVE 

RX-80 SAVE 

FX-100 SAVE 



TRS-80 PRINTERS 



COAAPLE 



BBS 



SMITH 
CORONA 



TP-I DAISY 

WHEEL 

PRINTER 

FROM SCALL 



ELINE FROM $ 199 



star* 

< VEMINI 
1 )X & 15 

printers 

fro* $ 279 



C. Itoh 

SCALL 

Transtar 

SCALL 



OKIDATA 
PRINTERS 
FROM SCALL 

MICROLINE SERIES 

•83A 
•84P »92P «93P 
PACEMARK 2350P 



MODEMS 
Q)Hayes 



NovationEgj 



'CALL 



MONITORS 
USI 

$1AXA1\I 

SCALL 



NOTICE 



ALL PRODUCTS WE SELL ARE BRAND NEW 

AND COVERED BY THE MANUFACTURER'S 

SPECIFIC WARRANTIES. COPIES AVAILABU 

UPON REQUEST 

WE DO NOT SELL ANY USED, RECONDITION 

ED. FOREIGN OR INFERIOR MODIFIED EQUIP 

MENT 

PRICES AND PRODUCTS SUBJECT TO 

CHANGE WITHOUT NOTICE 



QJJADIVNM 

CUOFOWCM 



GRJ.PPLER + 



FREE 



FRjiNKLIN 

CO \APUTERS 

•CALL 



UPON REQUEST 
•DISCOUNT PRICE LIST & 

INFORMATION KIT 

WRITE 
MICRO MANAGEMENT SYSTEMS 

TELEMARKET DEPT. tl^ 



AST & 

C0L0RPLUS 

BOARDS 

SCALL 



^batim 

NEW 
PRODUCTS 

•CALL 



Since 1978 

PIONEER IN DIRECT TO 
CONSUMER SALES OF MICRO 
COMPUTERS AND ELECTRONICS 
NAME BRAND PRODUCTS 
LARGE INVENTORIES 
NEXT DAY SHIPMENT ON 
MOST PRODUCTS 




DISCOUNT 
PRICES 



. 



Micro Ni anagement 
Systems, Inc. 

2803 Thoi lasville Road East 

Cairo, Georgia 31728 

(91. ) 377-7120 



*^96 



BUY 
DIRECT 

TELEMARKET DEPT. 






• S—Ustof AdimtlMrs on Page 291 



80 Micro, December 1983 • 243 



CNotes 



Make Your Own Modem Cable 



by Cari Oppedahl 

While the Radio Shack modem cable for the Model 100 
comes with one free hour each of CompuServe and Dow 
Jones services, this may be of little use to you if you already 
subscribe, or if you need more than one modem cable. For 
these reasons I built my own. 

The circuit diagram for the Radio Shack cable appears in 
Table 3. One end is an exotic 8-pin DIN plug (see Photo 1) 
whose spacings are slightly different from those of the 8-pin 
cassette DIN plug. Look closely at the top panel of the Model 
100: The difference lies in the placement of pins 6, 7, and 8. In 
the phone jack pins 7 and 8 sit directly below 1 and 3, while in 
the cassette jack pins 6, 7, and 8 are somewhat closer together. 

Extending from the 8-pin plug are two conventional-look- 
ing modular telephone line cords. You would connect the 
beige cord to the local phone company dial tone, as with a wall 
jack, and the silver cord to a conventional telephone if you 
were using the computer as an automatic dialer for voice calls. 

Unplug the modem cable from the Model 100, and the tele- 
phone connected to the silver cord will go dead. So Radio 
Shack provides a shorting connector to mate with the 8-pin 
plug in place of the Model 100. It connects pins 1 and 7, 
temporarily making the modem cable into a rather expensive 
telephone extension cord. 

But with a bit of drilling and soldering, you can make your 
own cable at a cost of only a few dollars. Even if you buy all 
the parts new from Radio Shack and want to duplicate all the 
functions, including autodialing for voice telephone calls, 
you'll spend only $10.88. (See Table 4.) 

Since you need only pins 1,3, and 7 (and you can omit pin 1 
if you don't need the silver cord) you can pry loose one of pins 



DIN pin 


Modular plug 


1 


grey cable, green wire 


2 


NC 


3 


grey cable, red wire, 




and beige cable, red 




wire 


4 


NC 


5 


NC 


6 


NC 


7 


beige cable, green wire 


8 


NC 



Table 3. Connections in Radio Shack Model 100 modem cable. 



Part Description Current Price 

Two 5-pin DIN plugs, part number 274-003 $1.49 

Telephone line cord, part number 279-374 $4.95 

Inline coupler, part number 279-358 $2.95 

Table 4. Parts list for homemade modem cable. 



2, 4, or 5 to be used in position 7. However, it's difficult to re- 
move pins from the black plastic. I ended up buying an extra 
5-pin DIN plug, and simply cracked apart the plastic to get a 
spare pin to mount into a newly-drilled hole in the other. 

After you extract an extra pin from a DIN plug, drill a hole 
in the 5-pin plug so that you can insert the new pin and glue it 
in place. This requires a 5/64-inch drill bit and a steady hand. 
Before drilling, slip off the plastic sleeve of the DIN plug by 
lifting the tab above pin 2. Then separate the two halves of the 
metal barrel inside. This exposes the black plastic carrier con- 
taining the five pins, which requires a hole for the new pin 7. 
The important thing is to drill the hole directly below pin 1 , so 
that the new pin 7 fits into the matching hole in the Model 100 
phone jack. 

Then, mix up some epoxy glue. (I used a brand that sets in 
10 minutes with satisfactory results.) Grasp the extra pin with 
a tweezer or needlenose pliers, apply glue to it with a 
toothpick, and insert it carefully into the hole. (See Photo 2.) 
Hold it parallel to the other pins until the glue has hardened 
somewhat. Then let it set for the period recommended in the 
glue instructions. 

Next take the modular phone cord and cut it in half. Taking 
one half, carefully remove about an inch of the outer jacket. 
Inside you'll find green, red, and probably black and yellow 
wires. Clip the yellow and black wires (if any) short and strip 
the red and green wires, which carry what the telephone com- 




Photo I. Radio Shack 8-pin DIN plug. 




Photo 2. 5-pin DIN plug with new pin 7. 



244 • 80 Micro, December 1983 




NtONTEZUNUt 
NMCRO 



P.O. Box 2169 

Camp Verde (Lizard Flats) 

Arizona 86322 

WE KEEP YOU RUNNING 



COMPUTERS 



Modal 4 aa* 1 on-raa * PS- 233 MR Compkm 

26 1066 20TBS-232 Pure R5 Ann MNFW 

2610(7 i*KMoa< »inM«S«. 

2*10** MmiMwniiis 

263003 H»C«»CW»«> 

26-JOi' MCiOMmCmCaavuar 

2*302* IWfrriBWl 

2*3027 WIlMHHKCottCnwv] 




(MX MB* 100 a* I 

263*07 KMItCMIMMCPWB 

26-4004 Mod122DM 

26-4005 aK*1220ar* 



26-6005 tWIMIOM 4*2* 

26600S MO0 It* aancuBMl 12MbHard0ak M 

266050 Oil '»i »» 5*0 

UMrMadHiConvMv. nw rs-232 trsoos Con»un 

Compare wm CP/U 2 2 and «U ol FREE SOFTWARE 1466 

ZORBA PonaOMI 2 DSDD grim 80.25 4MM grepNCI 7 
green pftoephor eoreen RS-232. IEEE-469 « Catotnjnica poru 

■vWWurdSU. MMU.0) SuperSon C*S«r IMS 



26-1443 BVCB-*c*onel Tractor 

2*1447 BKOnrauruJITraCtOr 

2H«« Smga f*n sneei r eeaer 

261456 AccMttcCvw 

261459 avoaacaoral Trertor 

2*1401 UMIKUHMncCM 

261408 BS-232C Caere 

76i40» ModiOOPreuarCabB 

26-4401 iiiiiit nn miff 

2*1490 10 RS-732C Carre 

26 '491 23 RSV2SC Caere 

7*1492 50 FIS232C Ceta. 

2614*3 100 RMtXCW 

2*14*5 M-»CCaatiiM> 

26I4« RS>232CRtfMoraa»Aa1ar»ar 

2»vi«** fnaNvMi 

3*14*1 F&232C '. — O . 3<recn 

26JS05 PC IPmi 

263M1 KltaV 

263605 PCIPnmer 

2*3692 PC4Pre*er 



26-2212 NEW PASCAL For TTa Modal 4 

29 221 3 Mod 1 LOOS 

26-2214 MM 3 100$ 

262216 CP/unM'ot rhoMod*« 

262211 C8ASK f» The Uoc*> 4 iReour.4 CP7M1 

262230-23 van* 

262224 U aa M I C »«>ill' M 

2*?70« C0K»Cunyu—X.01 'ipa 

262710 Color Cot>» p«_oi Oaa 

26 2"! P6.0T ■ 

262721 C4«arCe«B>«orLOaO Den 

262722 LOaOKOHPaoi 

2»so>9 nam— wnuinni 

263030 NfWOHForthoC— Cmni— 

MM ««IA5C MLIKCooCr™. 



au. *e tomim ***. off cimh •*■* 



CP/M 



CP/M 2 2 tor r* Moo* 4 The Very MSI ONE 
PllCP*??n.FWt, Mt-I'l* 
P9TOM4 2 2m Hard 142 12 16 



BOOKS 



C.IT0H 



8510 



MODEMS 



n i um aw I20opa FncaorVTractor Pill 

1550 Prowl*? I70cp4 lo> w» Pape. ParaW 

FlO-40 Siarwnltr 40tp* Okriywhea 
F10 55 Frewnaalar 55cp* Danywnea 

F10 BrCkrecaonei Trocwr w f aaa c Com 
no S«a»tr«Mii'iili 
MOO NoarunrOuair iMcn 2-Cour 
OX 100 Ooraaearana 50opa 

Cx-4600 Pl.aaPIUIMi 4-Calo> 



MOwnZUMAl RCVtHCSe 
1 e«ar ■•• «m nej-ae mo. cv« *, M ihm ■ 

HDiXaMM 
Thaonekea W HIW M aeeawraaaM.a»MeBaBcre 
W*RCO*T<»»LY .... _ $ 299 



ANADEX 



P— .011)100,12001 



PERIPHERALS 



0P 9620 ■•BsjaPKHMF 



WP4M00 W«M > Lar«Ou«r,P^a 
OP 4)600 S900*e Super Trot nam Tram 



r to. MP 6000 6500 





160230 
I6-O501 
26-1130 
261131 
26-120B 

2*1410 

263007 
26-3008 
26-3022 

Son 
26-3023 

Sam* 

263024 
263025 



SUPPLIES 



1 9MB H e a e O e* Pranery 
Modi 3.4SMBr«en?CrekSecoaary 
CCFUI Cmm i TarrePaoOTei 
MoolOOMoOerr.CAB» 
Color Computer Carrying Cue 
Color Computer Jr»/*bgHI, F* (*•¥ 
Color Computer Dak Dove Kit 
■s aDove e»oept our Nend SmIM 
CanrCo*iCMaruai>Oraa>i 2o>3 
H w i m near brand Sim t*** 
COOr Compunr etaa-Pa* aaarlac* 
CoBCanpuMrMDM* 
Ml Dare lor M Co** Paplj 2 



PC2<^lT*n*Ceee 
PC 7 HI IW—o 
PC24»>«MMo0X| 
■C2I 



5 25 SSOOrMwnta PK>a>l0 

5 25 06P0 01 H I H . PootjIlO 

I SSCO0WHM0 PMiollO 

( OSOOOakonn Paoi mio 

5 25 Pajaon Hok*> 75 owi 

S Fhgaon HoUiMCkfkt 

35 «11 TrtcwrPrcor Qooo 20 Sloe. 29CX) snow 

U 111 Tfidor »•«. QOM/OSlOCt. 2900 S7*e.4 

325 HMdCMonngKA 

1 m m c ch iiw^iu 



SOFTWARE 



14tW CP*I Oy Hrjraoiwmo For Th» UDraa 4 
26-0310 rosooS2 3ForT>«uooir 1 
M-0312 IHSOOS1 3'r>rh.Uoaa3 
26-0313 inSC06«0>r>'raUoca>4 
26-1507 




26-3618 

Sand 
26-4152 
26-4153 

26-4166 
26-4166 



UHiOSCarrwisCaM 

Mod lOOSKfUMUoaUB 
• amraaraxplowonM SoattM 

M00U2H 12Mb Hard 0a* PiOMry 
Mod J 12.11 12Mb Hard Oak Sscondary 
Mod 1 S. 1 • tnoia 1 Ortra Expnaun BO« 

Moo 12 ieS*mu*2Dnv«Exon»ior>B<>» 



FURNITURE 



26-1306 Mod3S><MrriDa«> 

261306 lAMrMParajrSara 

26-1324 ConpyavTaBB 

26-1323 PXui 1 

26-4301 Uooiom 

26-4303 C3aV 3n llili O lll 




PRtfTERS A ACCESSORIES 



26H55 rlialPnapl 



26H90 Pkaajr 

26-11*1 >64» Pan Ploai 

261192 0CPii5Coo0«er-»Fv™. 

261193 faaoadPi u ai/Pnia» 
26H96 Ocjaaw 

2611*6 Color Cu paw OrapnCT KM Ti 

261290 OWP-4iOOaw.4iaaP.wiiK 

26U51 DMP-400 140opaPrnajr 

26-1252 DMP 500 220CC4 Pnnw 

26 1253 OMP 100 50a»Prmw 

26-1254 DMP-200 H0op » pr»li 

26-1266 0MP-I30 120rjpaOualUodePm 

26-1236 0MP-2100 l80CD.0U4lK4oO.Pn 

26-1257 OWP-210 Oaa, a»— P l.au 




26-1310 rraraM. 

26-1313 pajaa Nm 

26-1516 *air«pon r, 

24V132I v. 

26-I540 —— — nfrTIi ■ ai iiaji 

261541 NEWMraMSAanmrtMiaMH 

261543 aCiltMoaBi3PBr>oa 

261*52 Cirnanapja 

261363 rnaaortCanTCII 

261554 AooouriPiiMiii 

26-1566 AataurMPJooaialai 

26-1536 DaaPartd 

261557 CorCT»H!«..-C"' 

261566 BuaranMiangLw 

W-'SS* Marmfa tAj inij irwornory Comrqi 

261360 CHodAawt 

261362 ProOo 

261363 Scnpari 

26 1 565 Moroatl 

26.15*6 MorM1va£4K 

26-13M Maa«a»Or«coS ( ia»i» 

2615M *Wlv*j,(TO», 

26157* rtrAMPaaiCoaat 

26-13«0 Propel I M .a. 

26-13*1 Par 

2615*2 rnManaga. 



2*15*5 



26i5*» 
2615*0 
261591 
261592 
2*1593 
2613*4 
26-1995 
26-15*6 
26-1597 
262010 
262011 
2*2012 
262S13 
26-2014 
26-2017 
26-2016 
2*2022 
26-2023 
262190 



2 » 


26-4507 


■aaaajLaao 


2 m 


26-450* 


HMo) oraai Sraarai 


■» 


26-450* 


iann«aain»jii a m Coram 


■ 


26-4510 


irajraa*J» 


jri to 


26-4511 


Kafa. 




26451? 


Proa." 




26-4513 


JobCoaang 




26-4614 


Onaicnrr 


» 


26-4613 


F***a**lia 


■5 


26-43H) 


Pajaai Traraig Oua* 


a 


26-4517 


Praa»PM(Upgrd» 


■t 




TaraAooouran* 


9 


26-4621 


lAaCac 


■t 


264S2S 


EactronrcaVokar 


■2 


26-4531 


SCrW>8rT 3 


13 


2*4532 


SCWPSIT Uany 0a» 


1 


26-4634 


SCFOPSTTOcaorary 




26-4336 


SCBrPSlT Ptorw o~« 




264640 


TMaHfAwjbaa 




26-4545 


Lagoaon Suprxn 


r| 




AooBMraiPniia alM 


2 


26-4396 


Moaop! | — 


2 


2*-496< 


PaoaaFaraa, 


2 


26-4367 


PtaaaiAfoiaM 


2 


264366 


PiiaajPnimi 


1 


26-455* 


FaaBa* 


' * 


26-43*0 


WES7LAW 



262102 


>«.»• i -Ma . Uarvar 


26-2103 


Mooail Taomcal Manua 


2*210* 


Mooa 3 TaoMacai Manual 


2*2110 


Mara* 4 Tacancai Marua 


26-2111 


Modal 3 DOt Manual 


262112 


Mooa J BASK aaaucaon Manual 


26-2114 


Srjtavaaoah aawfaanv 


26-2115 


iM.ianai toe* KBO 


262117 


ktoaa 4 006 Manual 


2*2240 


m i a— Booa it* • 


26-31*1 


ConrCuapaaalaa .a 


2*31*2 


Enandaa Cat> Caacuar Marua 


26-4*20 


Modal 2 Oparaan Manual 


26-4*21 


Modi 7 Taonraaa ■■■» »<m >*»m» 


26-4*22 


Mooa 12 Oparaan* Manual 


2*6040 


Mow I60paraaan>laanuai 


26-6041 


Mod* I6B Oparaong Manual 


62-2064 


IF1S-S0 Pot»«l BASIC HandDOO. 


' B S 80 Oak 9 Odar Mnva 


Mooaolt BASIC Oaoodoo 


BASrCFaaairSBotJar 


6ASC 


FaaavSBanarOarnoCia. 


BASIC Faaajr 6 aatMr La>ar> *. 


BASIC Oak u0 Faaar 6 aaaar 


rrajCvMonlRSVBO 


T*SOC6?30*o»M 




• unraaajaOakiO 


rawOoaonaiTfts-aD 


msno Bataaart Qaaa 




UPGRADES 


i«hham 200raac iri«T*» ftamaai 


64KFMM 150 -ok iFunaa-faaian— 


2*1122 


WtodBI 4 6*4 F1AM km aan PAi 


S— 41 


•raploura ■twaijruw" 34M) 


2*1123 


Mooa 3 to Medal 4 upgrada u 


2*112$ 


MaoaliiPaaoAacr Boar* 


2*1126 


MPM 4 hV4M*0Man Board 


2*1127 


Modai4 0r>aOiu 


SanoatacrMaaMapi ou> brand Sa^SSSS 


2*1143 


Modal i oouBb Oanaay m 


F»nxx«»EBOCOMP DOC OouOB) OonMr K4 


29 1149 


Model IRS232IU 


7* 1144! 


Maw3RS232K,i 


Sarn*Mabov«4«caplou'Orarid Sa««it63 


2*1192 


Modal 3 Orar* 94*41 


Sanai 


>abmaa«api our brand SavaSSSS 


2*1163 


Rarao Snaoh 40 T>aofc Oaa Ona 


Saaaa 


■ Mic»*aaaa7i40iraaiTanaon SaMtC 


26-4104 


Modal? II »IM«» aaaill 


26-4105 


•4K RAM Board 


264161 


• OaaOna 


26-41(7 


• SaaOma 


i—iaaMooi Moo 3 «mv Scaaata ««oo 


2*3013 


■6* RAM For MC 10 CoB Conpuiar 


263016 


Caor CuriAAai Loa Pi nMa miouau 


26-30K 


Coajr CorapuMr [ .anaad BASK (aOM 


2*4)0 10 


Moo2 i 2 b Mo* i« MOO* an 


■MOM 


Marjl7Can)Caa> 



26-4*03 AcoounttPiiatai 
26-4*07 Cdar Eran,/acs 



BUY FROM US RIGHT NOW! 




Sonpat Otoaararv 
PaaaaFta) 

Prona Pto. lO.MD Va 



»nc Course 



Aaaanoa/ languaga Oavaioomem Couraa 

EOAS. Oak Varwm 
MM 3 Da* Couraa 

** AMamor, LAngoag. Cane Tapa 
n»-w U ia a< i una. aga Cu uiM Oak 
NfWPoaarTaol 
newOolPloi 



26-4701 FORTRAN 

26-4702 EOAS 

26-4703 COBXX 

26-4704 COBOL Run- Tan* 0a* 

26-4705 Coraeaar BASIC 

26-4709 Canftm BASIC Run -ana) Oak 

26-4707 txiBOLOanaralor 

26-4708 rajperl O anaraaai 

2*4710 Prao/arn Eoaar 

26-4717 A am i a i i l^aaaa*)t Oaaaaaaa aa Sa* a >a 

26-4713 EOAS I 

26-4714 nalpiitoTar 

26-4716 as "HC 37*0 

26-4721 inna FarThaMaaal2 12 16 

26-4730 ee»VC327C .araor-2 

26-4 740 CauMPa,* 

26-4742 CBASC 



l»-4B14 
264S15 

26-4*10 

2*4912 
266100 
2*6101 
2*6109 
26-6201 
26-9203 
26-6204 
2*6205 
26-6207 
2*620* 



Our, 



"WV 



donoiaaaMMifOuaani Cnancat ara «a runa n BacauaaoHna 
■aa tag m inagania ao.an n aig prcai ara lubaKt 10 onange 
wrrirxji noupe Pnca raducnorn .ra oa oasaao along autorraacalf 
Your oompany ana/or oanonai cracai art wna cc wia and wd nol 
daiay vour ortjer Wa usa TataCnack Piaaaa obaarva ihaia 
raaunraamt and rou> ordar mi r» arappad anu oaaiy Tha 
onack lauat oa draan on a USA or Canadan Dank and pafataa n 
uSOraara a rrtoaioaaoan, p jiaa ucmck ar aiua aaanouriaaai 
addraaa ano a* aal i u ra nunajar Tta, layaaur* ma Exactlv 
»aarj> M raana pnmad on *• ma* Than at (an a a> a to 
nooaw" .• accaot i™«. fipraat MaatarcaX Voui 
Oackt oar* iranator and •* aao aaa COO COO t 



*•' •«•> 




SCPaPSiT tor *a> HardOa* 
r* ■■■ !»»»*) Harp Oaa 
SCFOPSil tar TiaMaOnuaa 
TRSOOS20 

IHSOOS42 

COaXX Ca iaopaiani Saawn. 

COBOL naavama O aa m ai 

TRSOOS 18 

OananlLaeloor 

Aoooumi Racarvaoai 

Aocounn Payab* 
Ordar (ntry/ICS 
SaaaAnalra* 
JobCoaang 



es 



•* >«p M 



""aaa ua n a nand av saaw Saan la. ca**c«M o» 
W i— aa j a ai 11 or mw.ai » **, am a, spv m oraa. 
aaiaaiiajaiadmi«XTO*r4aiao>adnnana Dua*>*a>raayr* 
o« aw Buanaai ran are NO Rf FUNP* ON SOFTWAlaf 

»f 1-ACf ME !4TSa»lHrnaov«(C>IOOWFECllV£ ITEMS 

a*i* oi obki a ir ol ma 
fdu rann? a parroaar pr ou ar n n aja n ca* ua tar 



WAJVAANTT 
Aa riama carry aaj ongaajl manulartura 
nappv u ma. rou aoopy upon a***** 




narraniy We «ra oa 

M*Jk« cjatckj aa wtlcoaw u ca«h. 



IB-1440 9aaj»a*< 




26*40i xehb Qaaaaaaaaa taaaai 
2*6436 OOaOl 
26-6467 MBASK 

21 11 uuanr Uooiiiiiiii 
EanrcP*re*20 Ml *■> 
aWPanof Ml Ml 
RadPai a* Ml Ml 



** ami aaa» tou* cam*o*N 

Caul ran rttet rmom /mrwKtte m rm usa 

800-527-0347 
800-442-1310 



* Sm Utt ot AdmtlMn on Page 281 



B0 Micro, December 1983 • 246 



ONotes 




Photo 3. The red wire goes to pin 3, while the green wire goes to pin 7. 




Program Length 



by Ronald F. Balonis 

Length. BA, an 8K RAM utility program, provides a 
method to compute program length in order to manage 
memory space on the Model 100. (See Program Listing 1.) 

All memory references are in decimal notation. The user 
menu directory is located in RAM memory from 63930 to 
64139, with each entry using 11 bytes. The first byte of each 
entry denotes the type of file: is for a killed/empty file, 128 is 
for Basic program (.BA) files, and 192 for text (.DO) files. The 
next 2 bytes are the start address of the file in RAM memory, 
and the remaining 8 bytes are the file name and extension. Dis- 
assembly of the file area indicated that 26 is the end of file 
(EOF) indicator of a text file, and the standard string of three 
zeros is EOF for a .BA file. 

The program conducts a sequential search of the directory 
for a file match, and then a sequential search of the file for the 
EOF byte, using PEEKs to read the memory. The menu direc- 
tory search, while slow, proved acceptable, but the EOF 
search of the file had a tiresome wait with long files. This was 
an application in need of some machine language, and so I 
made my first attempt at a machine-language subroutine on 
the Model 100. 

Borrowing on early Model I techniques, I fashioned a sim- 
ple machine-language sequential search routine for the EOF 
search. The program loads it into the Model 100 with data 
statements, and the Basic PEEK and POKE statements pass 
the variables to and from the routine. A word or two of warn- 
ing about my experience with machine language on the Model 
100 is in order: Errors, at least of the types 1 made, cause the 
computer to do a cold restart, erasing all of the user programs. 



Photo 4. Completed modem cable. 

pany calls "ring" and "tip" signals, respectively. 

Thread the DIN plastic sleeve onto the phone cord so that 
later you can slip it onto the DIN plug. Then solder the cord to 
the plug, connecting the red wire to pin 3 and the green wire to 
pin 7. Reassemble the metal barrel. (See Photo 3.) Slide the 
sleeve back on, and the cable should be ready to test. (See Pho- 
to 4.) 

Testing the cable is easy. If you have access to an ohmmeter, 
use it to check that none of the DIN pins is shorted to any oth- 
er, and that none of the modular plug pins is shorted to an> 
other. Then check for continuity along the modem cable — the 
red wire at the modular plug should connect with pin 3 at the 
DIN plug, while the green wire should go to pin 7. Then pluj 
the modem cable into the computer and the telephone line. 

Call your local Radio Shack store to get the telephone num- 
ber for Tymnet or Telenet. With the computer in TELCOM 
dial that number on an extension phone, and when you heaj 
the high-pitched carrier tone, push F4. Words and letter; 
should appear on the screen. Then push F8, the Bye key, anc 
type Y. The tone should stop. ■ 



Program Operation 

Line 15 clears string space and reserves 50 bytes (from MAX- 
RAM to HIMEM 63960 to 63910) for the machine-language sub- 
routine. Lines 30-50 POKE the machine-language program 
(see Program Listing 2) into this memory space. 

Lines 100-180 prompt for a file name, test that it has a valid 
formation, then construct a menu directory match string of it. 
The program stores the file names in the menu directory 
without the period before the extension, with the name left- 
justified and the extension right-justified, and with spaces fill- 
ing the middle if necessary. Lines 200-260 do the sequential 
search of the menu directory using the PEEK function to 
create a match string. Line 205 tests for a killed/empty file, 
and line 225 tests for a match of file names. If a match is 
found, then lines 230-235 get its address. Line 310 passes this 
address to the machine-language program for the EOF search 
called in line 320 or 330. Lines 400-430 compute and display 
the results. 

The utility program is simple to use. Just enter a valid file 
name and in two to three seconds the program displays its 
length for logging. Press the space bar for another program or 
to exit. ■ 



Carl Oppedahl can be reached at 99 Park Ave., New York 
NY 10016. 

246 • 80 Micro, December 1983 



Write to Ronald F. Balonis at 118 Rice St., Trucksville, PA 
18708. 



CNotes 



5 ' LENGTH. BA FIND LENGTH OF A PROGRAM 

10 'BY R.F.BALONIS JULY 16, 1983 

15 CLEAR 100,MAXRAM-50: 'JULY 17, 1983 

20 TITLE$="LENGTH OF A PROGRAM" 

25 '-MACHINE LANGAUGE PROG. END SEARCH- 

30 FOR 1=62911 TO 62958 

40 READ Z:POKEI,Z:B$=B$+" " 

50 NEXT I 

60 DATA 0,0,229,42,191,245,43, 

35,126,254,26,194,198 

70 DATA 245,195,234,245,229,42, 

191,245,43,35,126,254 

80 DATA 0,194,213,245,35,126,254, 

0,194,213,245,35 

90 DATA 126,254,0,194,213,245, 

34,191,245,225,201 

95 ' 

100 B$="":FNM$="":ADRS=0 

110 CLS:PRINT@10,TITLE$ 

120 PRINT@82, "ENTER NAME AS IT APPEARS 

ON THE MENU" 

130 PRINT@165,"<ENTER> TO EXIT "; 

135 INPUT FNM$:IF FNM$="" THEN MENU 

140 I=INSTR(FNM$,".") :TYPE$=" " : TYPE=0 

145 IF 1=0 THEN 100 

150 TYPE$=MID$(FNM$, 1+1,2) 

155 IF TYPE$="DO" THEN TYPE=1 

160 IF TYPE$="BA" THEN TYPE=2 

165 IF TYPE=1 OR TYPE=2 THEN 170 

ELSE 100 

170 FILN$=LEFT$(FNM$,I-1) 

175 IF LEN(FILN$)<6 THEN FILN$-FILN$+" 

":GOTO 175 

180 FILN$=FILN$+TYPE$ 

185 PRINT0285,"**** SEARCHING DIRECTORY 



190 
195 
200 
205 
210 
215 
220 
225 
230 
235 
240 
245 

250 

*** 

260 
280 
290 

300 

*** 



' — SEQUENTIAL DIRECTORY SEARCH — 
FOR 1=63930 TO 64139 STEP 11 
B$="":IF PEEK(I)=0 THEN 240 
FOR 11=3 TO 10 

B$=B$+CHR$(PEEK(I+II) ) 
NEXT II 

IF INSTR(B$,FILN$) <1 THEN 240 
IL=PEEK(I+1) :IH=PEEK(I+2) 
ADRS=IH*256+IL: 1=6 4139 
NEXT I 

IF ADRS=0 THEN 250 ELSE 290 
PRINT@285," **** NOT IN DIRECTORY * 

n . 

FOR 1=1 TO 1000:NEXT I: GOTO 100 
i 

i FIND THE LENGTH 

PRINT@285," **** COMPUTING LENGTH * 



310 POKE62911,IL:POKE62912,IH 

320 IF TYPE=1 THEN CALL 62913 

330 IF TYPE=2 THEN CALL 62928 

340 • 

400 CLS:PRINTei0, TITLES 

405 IADR=PEEK (62912) *256+PEEK (62911) 

410 PRINT§163,"< "FNM$" > IS "IADR-ADRS" 

BYTES LONG" 

420 PRINT@287,"**** PRESS <SPACEBAR> *** 

*■ . 

430 IF INKEY$=" " THEN 100 ELSE 430 
Program Listing 1. Length. BA— utility. 



Memory Address Source Statement Object Code 



I Addr 
H Addr 

DO Entry 



62911 
62912 

62913 
62914 
62917 

-62918 
62919 
62920 



Push HL 

LDHL. 62911 
Dec HL 



l CU- 
LPA, 
Cp 



HL 

(HL) 
26 



62922 
62925 



JNZ 
JP 



62918-* 
62954-* 



BA Entry 



62928 
62929 
62932 



Push HL 

LDHL, 62911 
Dec HL 







(►62933 


Inc 


HI 






62934 


LD A, 


(HL) 






62935 


Cp 







62937 


JNZ 


62933-* 




62940 


Inc 


HL 




62941 


LD A. 


(HL) 




62942 


Cp 







62944 


JNZ 


62933-** 


62947 


Inc 


HI 


62948 


LD A, 


(HL) 


62949 


Cp 






62951 



JNZ 



62933 



J 



-►62954 
62957 
62958 



LD 62911. HL 
Pop HL 

Return 






229 

42,191.245 
43 

J 5 

126 
254.26 

194.198.245 
195.234.245 

229 
42.191.245 

43 

35 

126 

254.0 

194.213.245 

35 
126 

254.0 

194.213.245 

35 

126 
254.0 

194.213.245 

34.191.245 

225 
201 



Program Listing 2. Length. BA — machine language. 



by Paul Serotta 



Blackjack 



Blackjack isn't a mere conversion: This program uses the 
Model loo's unique features — graphics, sound, and interrupt- 
controlled function keys — to simulate the popular casino card 
game also known as 21. Like the Vegas version, the game pro- 
gram pits a single player against the house's dealer (the Model 
100). The object of the game is to accumulate a hand worth 21 
points, or as close to 21 as possible, without going over. The 
house wins if you draw over 21 , or if the dealer's hand is closer 
to 21 than yours is. 

The 8K program starts by asking you to type in your name 
and press the enter key. From now on, it addresses you per- 
sonally. The program gives you a stake of $1,000 and asks you 
to enter your bet. Should you decide to wager the entire 
amount on the first hand, the buzzer sounds and the program 
applauds your bravado with an encouraging "Go for it!" 

80 Micro, December 1983 • 247 



CNotes 



Conversely, a low bet (under $100) merits the program's dis- 
dainful "You are cheap!" 

After you've entered your bet (in full-dollar amounts only), 
four boxes appear on the screen. The two upper boxes repre- 
sent your first two cards; a typical deal might be a king of 
clubs and a six of hearts. In the lower right-hand box the pro- 
gram displays the dealer's first card, for example, a six of 
spades. You then have the following options, selected with the 
lOO^s function keys: hit, double, stay, and quit. Press the Fl 
key if you want another card, the F2 key if you want to be 
dealt another card and double your original bet, the F3 key to 
play a two-card hand against the dealer, or the F4 key to stop 
the game altogether. 

When you stay, you're electing to play your current hand 
against whatever the house turns up for itself. The program 
then keeps dealing itself more cards until it has reached 21 — an 
automatic win, beaten your hand, or gone over. If you lose, 
the program tells you "You are busted." If you win, it admits 
"I'm busted — you win!" Should the dealer's hand match 
your own, the program declares the deal a draw or "push" 
and no one wins or loses. 

The program keeps a running tally of your stakes; after 
each deal it reminds you of how much money you have avail- 
able and asks you to enter another bet. 

It's impossible to cheat at this Blackjack, by the way. Try 
wagering more money than you have in your purse or dou- 
bling at the wrong time, and the program calls you on it. 

When you decide to bail out, press the F4 key and the pro- 
gram totals your winnings — or your losses. 

There's one bom every minute. ■ 

Contact Paul Serotta at 131 Penrose Drive, Pittsburgh, PA 
15208. 



Program Listing 3. Blackjack. 



1 REM ********************************* 

20 REM BLACKJACK 

30 REM 

40 REM PAUL SEROTTA 

45 REM 131 PENROSE DR. 

50 REM PITTSBURGH, PA 15208 

55 REM 

60 REM ********************************* 

80 REM 

99 REM DIMENSION CARD ARRAY, SET 
PLAYER'S AMOUNT OF MONEY 

100 DIMC(52) :PM=1000 

105 REM CLEAR FUNCTION KEYS (F1-F4) 

110 FORLL=63369TO63432:POKELL,0:NEXTLL 

112 REM TITLE PAGE 

115 CLS:LINE(70,24)-(115,52) f l,B:LINE( 

120,24) -(165,52) ,1,B:PRINT§173,"ACE 

";: PRINT @1 81, "JACK "; 

125 GOSUB9000:CLS: PRINT@121 , "PLEASE 

TYPE YOUR NAME AND PRESS 'ENTER'" 

140 PRINT:LINE INPUTN$:GOSUB9000 

145 KEY OFF: IFPM<=0THENGOTO3000 

147 REM INITIALIZE LOGIC VARIABLES & ASK 



FOR BET 

150 PP=1:CS=2:PA=0:CA=0: PT=0 :CT=0:CR«2: 

PC«81:CP=201: GOSUB9020 : PRINT: PRINTN$; " , 

YOU HAVE $";PM 

160 PRINT8200,""; : INPUT"PLEASE ENTER 

YOUR BET";BET:BET=INT(BET) 

170 IF BET >PM THEN GOSUB90 50:GOTO160 

180 IFSGN(BET)=-10RSGN(BET) 

=0THENGOSUB9050:GOTO160 

190 IFBET=PMTHENPRINT§293,CHR$(27) ;"p";" 

GO FOR IT 1! ";CHR$(27) 

; "q" ; : SOUND4000 , 15 : SOUND3000 , 10 : SOUND200 

, 8 :FORDL=1TO500 : NEXTDL 

195 IFBET<100ANDPM>500THENPRINTe291 ,CHR§ 

(27);"p";" YOU ARE CHEAP M ";CHR$(27) 

;"q"; :SOUND4000,30:SOUND12000,30:FORDL=1 

TO500: NEXTDL 

200 

GOSUB9020:GOSUB9100:GOSUB9110:PP=1:GOSUB 

9500 :ONKEYGOSUB1000, 4000, 2000, 3000 

202 PRINTei00,CHR$(155);" 

YOU";:PRINT@220,CHR$(155) ;" 

DEALER" ; : FORDL=lTO300 : NEXTDL : PRINT01 00 , S 

PACE$(6);:PRINT@220,SPACE$(9) ; 

210 PRINT@PC,C$;CHR$(156+SU)7:PC=PC+ 

8:PT-PT+CV: GOSUB9500:PT=PT+ 

CV:PRINTePC,C$;CHR$(156+SU) ; :PC=PC+8 

215 IFPA=2THENPA=1:PT=PT-10 

220 PP«0 :GOSUB9500 : HC$=C$+CHR$ ( 156+SU) 

:CT=CT+CV:CP=CP+8:GOSUB9500:CT=CT+ 

CV:PRINTeCP,C$;CHR$( 156+SU) ; :CP=CP-8 

225 IFCA=2THENCA=1:CT=CT-10 

230 IFPT=21ANDCT<> 

21THENPRINT@CP,HC$;:PRINT@280, "BLACKJACK 

!$l$!$l$l$l$I ";:PM=PM+BET+INT 

(BET/ 2) 

: F0RDL=1T05 : SOUND4000 , 10 : SOUND8000 , 10 : NE 

XTDL:GOT0145 

240 IFCT=21ANDPT<> 

21THENPRINT8CP,HC$; : PRINT@280 , "I HAVE 

BLACKJACK $$1 I - YOU LOSE ";:PM=PM- 

BET:SOUND14000,15:SOUND16000,20:FORDL=1T 

01000: NEXTDL : GOTOl 4 5 

250 

IFCT=21ANDPT=21THENPRINT§CP,HC$; :GOT0221 



260 KEY ON 

270 PRINT@280,"HIT DBL STAY 

QUIT" ; : FORWW=lTO200 : NEXTWW: PRINT@280 , SPA 

CE$(39) ;:FORWW=1TO200: NEXTWW 

280 IFNH=1THENNH=0:GOTO145:ELSEGOTO270 

999 REM PLAYER HITS 

1000 CR=CR+1 

1010 IFCR=3THENLINE(94,9)-(142,30) 

,1,B:GOTO1050 

1020 IFCR=4THENLINE( 141, 9) -(189,30) 

,1,B:GOTO1050 

1030 IFCR=5THENLINE(188,9)-(236,30) ,1,B 

1050 PP=1: GOSUB9500:PRINT@PC,C$;CHR$( 

156+SU) :PC=PC+8:PT=PT+CV 

1060 IFPT>21ANDPA<=0THENPRINT@280,N$;", 

YOU ARE BUSTED 

" ; : FORDL=1TO10 : SOUND12000 ,DL : NEXTDL : PM-P 

M-BET: FORDL=1TO50 : NEXTDL : NH=1 : RETURN 

1070 IFPT>21ANDPA>0THENPA=PA-1:PT=PT-10 

1100 IFCR05THEN RETURN 

1200 PRINT@280,"5 CARD CHARLIE - YOU WIN 

11"; :F0RDL=1T08 : SOUND5000 ,DL : SOUND15000, 

DL : NEXTDL : PM=PM+BET+INT ( BET/2) 

Listing 3 continued 



248 • 80 Micro, December 1983 



CNotes 



Listing 3 continued 

:NH=1: RETURN 

1999 REM COMPUTER'S LOGIC 

2000 KEY OFF 

2005 PRINT@280, SPACE $( 38) ; 

2010 PP=0:PRINTeCP,HC$:CP=CP+16 

2020 WC=94: IFCT>16THEN2200 

2050 CS=CS+1: 

IFCS-6THENGOTO2206 : ELSELINE (WC, 32) - (WC+ 

48,53) ,1,B:GOSUB9500 

2060 WC=WC+47:CT=CT+CV:PRINT@CP,C$;CHR$( 

156+SU) ;:CP=CP+8 

2070 IFCT>21 AND CA>0 THENCA=CA-1 :CT«CT- 

10 

2075 IFCS=6ANDCT<22THENGOTO2206 

2080 IFCT<=16THEN2050 

2199 REM WHAT HAPPENED? 

2200 IFCT>21THENPRINT@280, ,, I , M BUSTED — 
- YOU WIN 

l!";:SOUND14000,20:SOUND10000,20:SOUND50 
00,20:SOUND3500,20:PM=PM+BET:GOTO2500 
2206 IFCS>»5THENPRINTe280,"I'VE GOT A 5 
CARD CHARLIE — YOU LOSE" ; :PM=PM- 
BET:SOUND7500,20:SOUND5000,15:SOUND10000 
,20:GOTO2500 

2210 

IFCT=PTTHENPRINT@280 , "PUSH 

";:FORDL=7000TO10000STEP1000:SOUNDDL,8:N 



EXTDL:GOTO2500 

2220 IFCT>PTTHENPRINT@280,"I WIN 

$$$$$$$$$"; :SOUND16000, 25: PM»PM- 

BET:GOTO2500 

2230 IFCT<PTTHENPRINTe280 f "YOU WON 

III!!';: SOUND3000 , 20 : SOUND8000 , 20 :SOUND3 

000,20:PM=PM+BET 

2500 FORDL=1TO1250:NEXTDL: IFCO> 

25THENGOSUB9100 

2505 NH-1: RETURN 

2999 REM QUIT 

3000 CLS:PRINT@80,"BYE "jN$:IFPM> 
=1000THENPRINT@200,"YOU WON $";PM- 
1000: END: ELSE 

3010 PRINT@200 f "YOU LOST $";ABS(PM-1000) 
I END 

3999 REM PLAYER DOUBLES 

4000 IFCR>2THENPRINTG280,"YOU CAN'T 

DOUBLE NOW DUMMY 

11";:SOUND7500,20:SOUND13000,20:FORDL=1T 
O1000:NEXTDL:PRINT@280,SPACE$(38) 

;: RETURN 

4002 IFBET*2>PMTHENPRINTe280, "YOU DON'T 

HAVE ENOUGH MONEY **** 

"; :SOUND3000,10:SOUND15000,10:SOUND8000, 

10 :FORDL=1TO1000 : NEXTDL: PRINT @280 , SPACE $ 

(35) ;: RETURN 

Listing J continued 



TRS-80 

100% Radio Shack Equipment 

SAVE A BUNDLE 

Order Toll Free 1 '800-874-1 551 



FLA Residents 9)4-438-6507 collect 



EPSON, OKIDATA, CITOH, TABCO Printer Switches 



MI771 SALES CO. 



704 W Michigan Ave; P.O. Box 8098 
Pensacola, FLA 32505 



'TRS-80 is a trademark ot Tandy Corporation. 



.- See Ust of Advertisers on Page 291 



80 Micro, December 1983 • 248 



ONotes 



Listing 3 continued 

4005 PP=1:CR=CR+1: LINE (94, 9) -(142,30) 

,1,B:GOSUB9500 

4010 PRINTePC f C$;CHR$(156+SU) :PT=PT+ 

CV:BET=BET*2 

4020 IFPT>21ANDPA<=0THENGOTO1060 

4030 IFPT>2lANDPA>0THENPT«PT-10 

4050 GOTO2000 

8999 REM PRINT WELCOME 

9000 F0RLL-1T05: PRINT@50 , "WELCOME TO 
";CHR$(27) ; "p"; "BLACKJACK" ;CHR$( 27) ;"q" 
9010 FORDL-1TO60: NEXTDL: BEEP: 
PRINT§50 , SPACE $ ( 20 ) 

; : F0RDL=1T06 : NEXTDL , LL : RETURN 

9015 REM PRINT NAME OF GAME ON FIRST 

LINE 

9020 CLS: LINE(0,0)-(239,7) 

,1,BF:PRINT§15," BLACKJACK " :LINE (0 r 7) -( 

239,7) : RETURN 

9030 REM ANY CHEATING ?????? 

9050 PRINT§280, "NO CHEATING IN THIS GAME 

1"; :SOUND4000,10:SOUND10000,10:SOUND1600 

0,10 

9060 

F0RDL=1T07 50: NEXTDL :PRINT§223, SPACE$ (96) 

; : RETURN 

9099 REM SHUFFLE THE CARDS 

9100 CO=0: F0RLL-1T052:C(LL) 



=1:NEXTLL: RETURN 

9105 REM DRAW THE INITIAL 4 CARDS 

9110 LINE(0,9)-(48,30) ,l,B:LINE(47,9)-( 

95,30) ,l,B:LINE(0,32)-(48,53) ,1,B:LINE( 

47,32)-(95,53) ,1,B 

9115 RETURN 

9499 REM PICK A CARD 

9500 SEOVAL(RIGHT$(TIME$,2)) 

: FORI=lTOSEC : DUM=RND ( 1 ) : NEXTI : RN=INT ( RND 

(D*53) 

9510 IFC(RN)«0THEN9500 

9520 CO=CO+1:C(RN)*=0:SU=RNMOD4: 

9530 IFRN>4THENGOT09535:ELSEC$="ACE 

":CV-11 

9532 IFPP=1THENPA=PA+1 : ELSECA=CA+1 

9533 GOTO9600 

9535 IFRN>40THENGOTO9540:ELSEC$»STR$(INT 
(RN/4))+" ":CV=INT(RN/4) 

9537 IFRNMOD4O0THENC$=STR$(INT(RN/4)+l) 
+" ":CV=INT(RN/4)+l 

9538 GOTO9600 

9540 IFRN<45THENC$-"JACK 

":CV=10:GOTO9600 

9545 IFRN< 

49THENC$="QUEEN":CV=10:GOTO9600 

9550 C$="KING ":CV=10 

9600 RETURN 



STATEMENT OF OWNERSHIP, MANAGEMENT AND CIRCULATION 
1. Title of publication, 80 Micro. A ISSN 07447868. 2. Date erf filing, Oct. 1,1983. 3. Frequerv 
cy of Issue, Monthly. A No. of Issues published annually, 12 a Annual subscription price 
$38.00. 4. Location of known office of publication, 80 Pine Street, Peterborough, Hillsborc 
County, NH 03458. 5. Location of headquarters or general business off ices of the publish 
are, Same, & Names and complete addressee of publisher, editor, and managing editor 
Publisher and Editor, Wayne Green, 80 Pine Street, Peterborough, NH 03458. Managing 
Editor, Eric Matoney, 22A Pine Street, Peterborough, NH 03458. 7. Owner, International 
Data Group, PO Box 1460, 5 Speen Street, Framlngham, MA 01701; Patrick J. McGovem 
PO Box 1450, 5 Speen Street, Framlngham, MA 01701. Stockholders, Wayne Green, Peter 
borough, NH 03458. & Known bondholders, mortgagees, and other security holders own 
ing or holding 1 percent or more of total amount of bonds, mortgages or other securities 



None. 9. For completion by nonprofit organizations authorized to man at special rates 
(Section 411.3 DMM). The purpose, function and nonprofit status of this organization and 
the exempt status for Federal Income tax purposes (Check one) Not applicable. 10 Extent 
and nature of circulation. (X) Average No. copies each issue during preceding 12 months. 
CO Actual No. copies of single issue published near e st to filing date. A Total No. of copies 
printed (X) 148,867 (Y) 164,029 & Paid circulation 1. Sales through dealers and carriers, 
street vendors and counter sales (X) 48,180 (Y) 73,415 2. Mall subscription (X) 76,634 (Y) 
76,179 C. Total paid circulation (X) 124,794 (Y) 149,594 D. Free distribution by mall, carrier or 
other means, samples, complimentary, and other free copies W 807 (Y) 837 E Total 
dtatributJon (X) 125*01 (Y) 150,431 F. Copies not Distributed 1. Office use, left over, unac- 
counted, spoiled after printing (X) 7,980 (Y) 13^88 2. Returns from news agents (X) 15,088 (Y) 
G Total (X) 148^87 (Y) 184,029. 



ARE VOU TIRED OF HEADACHES AIMD WATERY EYES 
FROM STARING AT YOUR TRS-BQ'S HARSH WHITE VIDEO DISPLAY? 



Well, a FATIGUE FIGHTER optical flit 
the eyes, green. It Is made of hard 1/8 li 
seconds without tools, and matches TRS- 
FATIGUE FIGHTER lor your Model I, II, or 
accessories you will ever buy. 



9r changes that display to a nice, easy on 
ich thick acrylic for durability, attaches in 
BO ' styling. So, invest in some relief, get a 
tn. It will probably be one of the most used 



P.S. Available 
direct from us or at 
computer stores. 

TRS 80 IS A TAN0Y CORP TRADEMARK 



T0 0R0ER: 

Sftnd Nan* & Addrtss Typed or Clearly Printed will Check or 
Honey Order (U S FUNDS) lor $14 95 Each. Ireludm Stepping 
Canadian Orders Add 11 00 Each AH Other Foreign rders Add 
S3 00 Each tor Snipping NO WEDtT CARD ORDERS 00 s (U S 
ORDERS ONLY) are S3 00 Addrkona) per Order & are A cepied by 
Mail or by Calkng 904 378 2494 or »S M F Florida Re >dtnts Add 



WE 

I —DEALER I 



INNOVATIVE DESIGN 
. E. 19TH DRIVE 
LE.FL 32601-3326 "35| 

EB INVITED — 



250 • 80 Micro, December 1983 



RAM FILES 



Monitor 100 Changes 

I found the "Monitor 100" program (August 1983, p. 171 ) 
particularly interesting, but to make it work I had to make t v. 3 
changes to the printed version. 

First, statement 58 is redundant and should be delete* . 
Also, in line 200, MID$(0$,3,4) should be MID$(0$,2,4). 

The Model 100 is an excellent complement to my big con - 
puter (a Kaypro II set up as an RCPM/RBBS). I can prepai i 
draft documents on the go, then capture the incoming text ft ; 
to disk. 

A Bask program on the Kaypro (ADDLF.BAS) adds a lin ; 
feed at each carriage return (required by CP/M and man/ 
non-TRS-80 computers). You can then print the resulting ft ; 
as is, or process it further on your home computer. You ca i 
upload Model 100 Basic programs in a similar manner if yo i 
save them in ASCII format. 

I use an Epson MX-80 printer. Its ability to skip over pei - 
forations by either software command or hardware switch lei > 
you paginate documents created on the Model 100 without th ; 
intermediate step of uploading to a more powerful computer 

Anyone buying a printer for the Model 100 should look fo - 
this feature, as well as the capability to add line feeds (a hard - 
ware switch option on the MX-80). 

The usefulness of the Model 100 is enhanced by the series o " 
features initiated in your July issue. Although it is not m ' 
primary use of this computer, methods of installing machine 
language code would be a good subject for a future article. 

PhUWheele- 
5539 Towers St 
Torrance, CA 905a 



Foxfighter Glitch 

I just bought my first copy of 80 Micro, and I'm delightec 
to find the ONotes section dedicated to the Model 100. I an 
satisfied with my Model 100, but until recently thought that m 
one was writing software for it. 

I enjoyed the Foxfighter program (August 1983, p. 200) 
but I did find a couple of glitches in it. 

The program always presents one of seven predefined screei 
displays for the air mines. This becomes routine after a littl< 
while and encourages high scoring. 

The changes shown in lines 10 and 25-34 in Progran 
Listing 1 display the air mines in random patterns instead. Oc 
casionally this results in an invisible air mine or two, adding tc 
the challenge of the game. 

Line 10 sets the RND function to one of 60 different starting 
points based on the Model 100's built-in clock. Lines 25-3^ 
use the RND function to display the air mines in variou.' 
screens instead of the seven predefined screens used in tht 
original listing. 

Also, line 150 of Foxfighter is supposed to provide an addi- 
tional fighter plane when the score reaches 500, 1,000, anc 
2,000. Actually, it only increments the number of fighters dis- 
played by 1 at these three points. Lines 150-158 in Listing 1 
change the number of fighters as well as the display. 

Harold Shavei 

509 Mulberry K 

Suisun, CA 94585 



10 DIMX(6) ,A(42) :V=3:SCR=0: 

CLS:PRINT692, " <<FOXFIGHTER>>" : 

PRINT : PRINT : FORT=lTOVAL ( RIGHT$ (TIMES , 2 ) ) 

:SEC=RND(1) :NEXT:INPUT"DO YOU NEED 

INSTRUCTIONS (Y OR N) " ;AS:IFAS="Y" 

THEN 390 ELSE 20 

25 FORI=l TO 42:READA(I) : NEXT 

30 FORM=l TO 6 

32 Y=INT(41*RND(1) ) +l:FORI«l TO 

6:IFX(I)«A(Y) THEN32 

34 X(M) =A(Y) :NEXTM 

150 IFSCR=500 AND 

BN«0THENV=V+1:BN»1:GOTO155ELSEIFSCR=1000 

AND BN»0THENV=V+1 : BN=1 : GOT0155ELSE IF 
SCR=2000 AND BN=0THENV=V+1:BN=1:GOTO 
155 

155 IF SCRO 500 AND SCR O1000 AND SCR 
<> 2000 THEN BN=0 
158 PRINT@0,V 



Program Listing I. Adjustments for Brad Dixon's "Foxfighter" program. 



Calculator Program 

The short calculator program in Program Listing 2 is one of 
the first programs I wrote on my Model 100. 

To run the program, input a value and press the enter key. 
Then input either a plus (P), multiplication (.), subtraction 
( — ), or division (/) sign. 

Type in your next number and press the enter key. Now 
press the equals key to get an answer, or key in another func- 
tion and continue calculating. Once you have an answer, you 
can start over, stop, or carry your balance forward. 

By using P for addition and a period for multiplication, you 
don't need to use the shift lever. 

Mark Fox 

774 Hazelwood Drive 

North Wales, PA 19454 



5 CLS 


6 PRINT-CALCULATOR PROGRAM" 


10 INPUT Y 


11 CLS 


15 PRINTY 


20 Y$=INKEY$:IF Y$=""THEN GOTO20 


21 IF Y$="="THEN100 


25 PRINTY$ 


30 INPUT X 


31 IF Y$="P"THEN Y-Y+X:GOTO20 


32 IF Y$="-"THEN Y=Y-X:GOTO20 


33 IF YS="."THEN Y=Y*X:GOTO20 


34 IF Y$="/"THEN Y=Y/X:GOTO20 


100 PRINT" " 


200 PRINTY;" IS YOUR ANSWER" 


210 PRINT 


220 PRINT"ANOTHER EQUATION? OR BAL 


FWD(Y,N,B) " 


223 ZS-INKEYS 


230 IF Z$=""GOTO 223 


230 IF Z$="Y"THEN5 


240 IF Z$="Y"THEN5 


250 IFZ$="B"THEN15 


260 END 


Program Listing 2. Model 100 Calculator program. 



80 Micro, December 1983 • 251 



kCmiint A§ 



VV V%V# l fe WHERE 

Wg/M 24! QUALITY PROGRAMS 

■mMMmJm^ M«H MEET COM PETIT VE PRICES 
2701 -C W. 1 5th • SUITE 324 • PLANO, TX 75075 • (2* 4) 680-8268 




STOCKING 
STUFFER 
SALE! 



ULTRATERM 

Dy Untied Soitvea'e 



L AII MOD III programs specific d I n this ad will ru n on the Model 4 (in the MOD III mode). 



POWERDRIVER 



NEW 

PRINTER DRIVERS 



nittMu 



IEHIKUCHVTMT'1 

By Continental Software 



9 85 

<9tS 

49 90 

00 95 



'♦£ 



Tnis communicaiions package 'S one of lie most • 
includes a fu'i leatu'eo .n'e'iigen' te'imnat ptooram host cog' am 
luect fiie tiinsfr function and f>e« converse! utilities to* Dulietin 
ooa-ci ctciwnioaorng plus • Supoot ' lot .ittuaity an man u a and autc 
Jia 1 modems • tiduS'veLifttaTe'tns.fKia.shiiiet-atisie' function 

asnws *J« control ham "he -'ansmt'ing compute- ana una'tended 

wato at the -ece-vr!) computer • Sofa screen leave iris rou 
■tx mtcjomg messages on the oofiom •*! oi :ne sc-rm w%» 
rv.cvmng messages a-e KMiC cm "• tie of Be sc-een • 'ui 
L-*e D-ntr suoocrf • Unr.e'sA , ASCi'»crma;t*ei'ans.*»ssionand 
-eceprxr with mrmotf input ou'Dur outer VjEcrvTs vavs Between 
-naracfe'S Irtays Driween ines and pton^t nvuronrcl fans-m^son 
'r :omoafa&i. , y w.t*i •<*tuai , v a" systems * counter com nuousN 
*sotays "ie amount 31 f-ee memor, -erne^ng wheneve- the buff >s 
«*• M teamed rv»t ycxjtam mat supootfs PitiNt end »m«T 
rapncs t-om nas< and atitomatcai'v ■emcares and otoietfs tsrtf in 
:> toe 81 memoty s nciuded • Auto 0>at phone numbers sioted m 
cagnf «nh single Key Auto On 1 MOO 1 01 MOO '11 



jeneration ol custom printer drivers allows 
I you to utilize all ot SUPERSCRIPSITS features with 
your EPSON (Graftrax Required). PROWRITER and 
I CITOH F10 STARWRITER printers You can now 
1 all of the printers custom leatures such as 
I compressed, expanded and proportional print 
nderlining. bold-lace super scripting and sub- 
cnpting. All drivers can be called from wtthm 
I SUPERSCRIPSIT at -document open time - Order 
by printer designation as follows 

I POWERDRIVER E EPSON MX70/8O/10O 

POWERDRIVER P CITOH PROWRITER 

| POWERDRIVER S C ITOH STARWRITER 

MOD I or MOD III 



NEW SUPER UTICITY + 
VERSION 3.2 

Includes Operator* Manual 

and 2nd Backup Ok* 

The Book Inside SU+ 2.0 

Included FREE 

A 1 9.95 Valua at no extra charge 

Experience a legend with the 

program voted as the outstanding 

utility of 1982. 

MOD I or MOD III Protected Media 





nnT 
















• Uj<nui 




OC budge; categories • Keep, fach tf up to t»e 


chew too*! 




checks * dtsirtd • < ■ - 




Statement 


umt i 


J eioefse sotmw> • Ptini< 






'atV U 


-econcfcaion • *■<*« Me 


rtensAWS 9» "VI©* 




tW tnyi* m -c •-- cas» chK«nocM 




v***"« W 


leiaet"! 


>e .-■ ■•:- -u, ,-,*•>" '- s:i 3 t*:, 




'isac'ci 


-u. * M** r*orq >fif *->! Qurjget uiegor-n 




■*a:*0* 


to •*» aurrjOSes • Ha-** 








■:'-. h ■-. ;a'«gc . ■_. ;j 


1"* 








satMge 


Poputy Co««uhna ■-»«•**»>■ 198? 








MOD 111 






Craw 'W *o» scan*. Orce :-ralM t«c urorniatan »ri 



MOD l/lll MINIMUM 48K I Drive 



The newesl editor/assembler Irom Vern Hester, 
author gl Multidos. lays claim to being the fastest gun 
in the west Once again Vern brings his magic lo the 
THS-80 with what may be the finest editor/assembler 
available Will run with any DOS and contains all 
standard assemble' leatures and then some Fully 
documented, this is a great value 

Included is a mint disk operating system for the MOD 
I. ill and 4 

MOD "ti. 4 



OMtim 

'""! coQiam s an -**i iljd. na lot Wie ccrneute' u« A stjOini types in 

'•»*• JueslKins y«ahilai» «y« nwrs tn ,*; tna comgulr asAi tne 

queslicm Tne s! u oan' has i*o etiances lo answer conectf) ' 

givrs a score anflsnenrs Questions ans«r■e!3.nx■fe:l , , "i* 

me opton to -ecyde inav-rct answr-s 

l(ACM!»S 

l|W ■ us is 100 orassons and answrs B smpssr i MM 

pntitM n W^m v . Dwjca aiann^ J 'j*int * saor 

' r i n Awat Qurstom «ai Dr onMae <* Tder 




I CH'»c!or, Ofl t 

A jr. 



•• ii'eciory progtatn 
•sin ts own opttat-ng system 
wtifte-n 6y Vetnon Hesvot Tins 
progran «* reail jny DOS tune 
is. eren cgwajataOaMy between 
HOC l and MOb 111 rntn doublet 
nstjued rise KOO I program can 
•eat) most MOO in daks and me 
MOO in program can read most 
MOD f ctsxs 80 itacx double 
density is afso sucpoMed 



IDOSPLUS J 

1 by MicioSystems Software ^_~ 


> Mttl 


1 SPECIALS ON * 
| ALL VERSIONS 




j e 


VERSION RETAIL SALE 

4 MOD 4 $150 $129 

35 MOO lor III $150 $119 

3 3 MOD 1 $100 $44.95 

Please Specify Mode! 

Number and Density When Ordering 

Some Quantities Limited and Subtext to Prior Sale 



ITHE TOOLBOX vl 


1 for LDOS 


J^"* w w ' Wi 




iHV^V S *YE 




PL '5% 


PCHECK/CMD 


PCOMPARE/CMD 


PFIX/CMD 


PCLEAR/CMD 


PREFORM/CMD 


PSS/CMD 


PVU/CMD 


PMAP/CMD 


PERASE/CMD 


PMX/FLT MX80 


PMOVE/CMD 


PHELP/CMD 


PDIF1T/CMD 


PBOOT/CMD 


PASSGO/CMD 


PFILT/FLT 


PUN/CMD 


DVORAK/FLT 


PEXyCMD 


DVORAK/JCL 


PMOD/CMD 


CODE/JCL 


PFIND/CMD 


DECODE/ JCL 


MOD 1 o 


MOD III 




A very urnpue word processing package Clean Slate has many 
'ealutes not found M word processors at twice the price n allows 
full customization ol printer duvets and direct control ot litis 
printer Itom lexl Fealures user definable repeal keys non- 
destructive cursor graphics print offset custom keyboard driver 
and has its own buill-tn comm prngiam lot lite transmission and 
receipt Can build a separate glossary It* and a names list to 
auto from lettei raetlnn you can also create and e*l assembr, 
source or base program htes We toured a tiaasme chest ol ttas 
Mile known jewel at ■• r«jw pnee Two color documenUttonria 
oadded easte bender at is an outslarong eaiue tor tho once 

MOO I ill 



PBEFERBEO »V COMPUTEB PKOfESSJONALS 
EVERYWHERE 

nPTicam - 




A great value from the DOSPLUS folks, these 
utilities for your MOD 4 DOS add some really 
important features. Enhancements include: 



DISKZAP 

DISKDUMP 

0IRCHECK 



MAP 


REF 


RESTORE 


RESOLVE 


SORT 


BE1 


SR 


be; 



MOD 4 



The ULTIMATE m graphics design This version o MUCH 

MORE POWERFUL lhan previous versions and mctudes 

BETTER dooumenlalion as well New features include ' 

AUT00RAW and CIRCLE commands. Now allows I 

you lo design your own character sets' 

ncludes lots ol examples on disk Your 
screen is only a "picture window" to a 
much larger drawing area 1 You are only 
limited by disk storage, nol memory Works 
on EPSON Series (Graftrax ol Graftrax+ 
eou'ed) or the Cilofi85l0 
(PROWRITER or NEC verson) Now avauabie 
to DMP-21QQ. DMP400 ana 1P-6. sucirr WTf.,1 




Now program in the "C" language 
compiler subset for LDOS. LC gener- 
ates Z-80 EDAS IV source code as 
output Compiled programs run on both 
MOD I and MOD III. Save $60.00 with 
the best LDOS editor assembler pack- 
age on the market Over 200 pages of 
documentation. Requires 2 drives and 
48 K. 

FOR LDOS MOD l/lll 



1 1MB FM TK met If ME 

the package Dy James Taney ol Kid Venture fame includes 3 
games on the same disk Funny Face .s a program inat draws 
over I million ckffetent laces on the scieen as you select the 
different facial leatures Vou can play line- up" where you select 
the lace from up lo 6 like taces. ot nave the computer draw taces 
in the automatic mode Matchmaket is a program tike the TV 

game "Concenttation" where you select Ktentcai graphics 
malches from a grid II keeps a running pomi score Repeat After 
Me emuUles the lamous "Semon" game where you hare lo enter 
a teoeat sequence ot numbers to maicn tie computer Sound 
incArOed Funny Face atone ts wef worth me pnee KOsww adore 
tras 3 game seacton 

MOO 1111 



252 • 80 Micro, December 1983 



IMULT1D0S 

BY Cosmopolilan Electronics 



Reads Older Operating Systems 



VERSION 1.1 $M.tS Now 84.95 

The latest release ol an outstanding operating 
system 

Buy VERSION 1.5 

at an unbelievable 

$49.95 

MOD I or III SPECIFY 




Features Over the Original PowerMAIL 

5eo3'ai?safiv:alegofy ity/ftj 'iin, Ttjnne'»oy*i5H Trn& re* version 
span drives and mj, use mui'ipe "owe* The tyogiim «iil sod on 
any e>gw *veis ■' you «nt. Separates you' "ags and ouis tnem -njo 
anotrnr f:fe Print Options Labels & lisdng One cnoce ;s TPie simple 
retepnone Dooti 'ype'isimg !*ooliroio[ne< -nodes gi»e you noloWy "* 
■51*9 Ol "WW out also alnr FiAG numfitts or me actual flAG 
Descnotioos The nn*i pfflt mode s •nai « can the SALESMAN'S 
•0 T E80QK~ i! D*«n*5 *! me «ho*e w v •na'e.f pawls you speedy 
■ttn a,-" roo sxHiAnQ tuft lag jescipfon n e acn lecor a Then the *of 3 
**« -s ormteoi ►Pi vrrera* '■•»» 3' EMn* space to* tWrng those 

* w MOD l'llt'4 2/12/16 
SPECIFY 



MORE DISCOUNTS 

PROGRAM NAME SPECIAL 

BASIC S COMPILER SYSTEM l/lll 39.95 

MAKE 80 I or III 14.95 

MICROTERM I or III or 4 69.95 

SCRIPLUS 3.0 l/lll 29.95 

ST80III I or III 124.95 

DOSPLUSII II 199.95 

MICROCASH III 149.95 

H-ZAL ASSEMBLER RELEASE 2 I OR III 99.95 

TALLYMASTER I ir III 74.95 

LOOS 5.1 I or III 119.95 

SUPER UTILITY TECH MANUAL 3.) 11.95 

INSIDE SUPER UTILITY* 2.2z 15.95 

THE CUSTOM TRS-80 26.95 

HOW TO DO IT TRS-80 26.95 

TRS-80 Disk & Other Mysteries 19.95 

TRSDOS 2.3 Decoded 26.95 

MICROSOFT BASIC DECODED 26.95 

BASIC FASTER& BETTER 26.95 

MACHINE LANGUAGE DISK I/O 26.95 

INSIDE SUPER UTILITY+ 3.0 17.95 



SPECIAL 
OFFER 

Any order ot over 

$100.00 or more from 

this id will receive 

one choice of the 

following absolutely 

FREE 

Green Window l/ll/IH/4 



Macro- Mon 

The Shadow 

• 

Any order over $200 will 

receive 

Clean Slate 



FREE 




User enier s principal, mierest rate, ana term ot loan 
and computer calculates monthly or annual level 
payment amount An amortization schedule may be 
printed on request Amortization schedule includes 
interest in current payment principal in current 
payment, interest paid to date, principal paid to date, 
ending balance, and calendar year totals lor interest 
and principal paid 

MOO III 



Complete diagnostic tests tor components of your 
TRS 80 Separate tests tor • ROM • RAM 

• VIDEO DISPLAY • KEYBOARD • LINE 
PRINTER • CASSETTE RECORDER 

• RS 232 C INTERFACE • DISK DRIVES 

• DISK CONTROLLER* INDIVIDUAL TESTS 
AND CONTINUOUS SYSTEM TESTS 



A lull screen graphics editor POWE RDRAW is 1 00*. 
assembly language You can create screens ot 
graphics save to disk, merge them, run in sequence 
like a movie, merge text with graphics, and write your 
own game or business application screens' 
PowerDRAW saves graphics to disk o' tape so that 
they can be recalled at a later lime in the lollowmg 
lor mats 

Ol COHDEHSED 10KEHS 4i BISK Sl'rat 
'! ED'S Sana i* Si BASIC a"lrt 



MACROMON 
THE SHADOW 



■ mm HMiiiHMt umti si ti 



BELOW 
OIAUI 





twmrnn ■■aalaiaiM aa 


?S ADVANCED OPERATING SYSTEMS 


m •>. • — 1 Mi aicanaa 

r»t Mntri 1 ■> Marl aM IM 'mnl ha* aatt * ■Mil 

m4 mtam l-tm« ——» WMWM IWHaWM 
"O. MM lU MM* M ! CM.' MniUO 

MiwimnnMinhi miiuHmum 
•rum "w ik im « ia ir * * i»i m 


Him tea 
■ IM 
Ml i -m 


taai •« tei MM 

I'll Mtei UM 
Hit kaHl till 


Out-man LMN- & MfrCt ti Prt« SMt 







9 uniiTY rmGiuMS re enhance roup, loos uimhv 



pmumi 


disk MoaiFicAiioM iimn. 


KMCUW 


Dmcran CHfa imurr 


mm 


rjHECTWir unit imun 


man 


sectoh HNnunoa imurr 


KiiAnan 


oisj ctxuup irmm 


NMB 


flli UCTM M 


"»EFDH«,CII0 


«fo«i«r irmwrT eiak 




oiwrm no rle au 


nUSOKM 


nSVOIOIEWMl 


MOD 1 or MOD III 



Now, run CP/M on your Model 4 and ui leash the powerful features resident in 
your computer. Take advantage ot CP/rV software such as WordStar*, dBASE II 
and Multiplan", along with thousands )f others. 

• Includes INTERCHANGE*, a utility that allows read 1ft writing and copying 20 diflereni manulaclurers' disk 
formats such as IBM KAYPR0. OSBORNE. XEROX, elc • Includes MEMLINK". a unique feature that uses the 
optional 64K RAM memory as a fast disk drive • Com lete with all these CP/M utilities. ASM. DDT. DUMP ED. 
LOAD. PIP, STAT and SYSGEN • Includes MODEM t, a powerful public domain communications program 

• Supports 80 x 24 video, reverse video, direct cursor a dressing and more • Utilizes the Model 4 (unction keys 
and allows user defined keys • FORMAT utility permit, up to 52 disk lormats to be constructed, all menu driven 

• Ready to run in the standard 64 K Model 4 The add tonal, extra cost. 64 K RAM upgrade not required 

MICROPRO SOFTWARE 

The full line of MicroPro softwa e is now available formatted for 
the Model 4 using this CP/M. 

WordStar* Fast memory mapped version $250 

MailMerge* Multi-purpose file merging program » 125 

SpellStar* 20.000 word proofreader on a disk \ 125 

Starlndex* Creates index and table of contents 95 

WordStar Professional All the above lor only .... 450 

InfoStar* Advanced DBMS 250 

ReportStar" Report generator i file manipulator 175 

DataStar" Data entry and retrieval package .150 

SuperSort* Fast and flexible sorting is yours 125 

CalcSlar" Advanced electronic spreadsheet 95 



Up dated tor 83-84 season. Pro-Pix features a unique 
scoring algorithm, along with other weighted proba- 
bility (actors You input weekly scores lo all pre- 
scheduled games (FuB NFl schedule by week or by 
team ts included m program) and watch Pro-Pix get 
smarter as season progresses Returned over 62 *» 
win recommendation last full NFL year Printer 
routines included; H win prmt wm or lose predictions 
and pomt spreads for all teams weekly Recreational 
use only Should not be used for wagering 
MOD I or III 



1 AfkCotuit n 

■■vrBta tm 
214-680-8268 

Phone Your Order In Today Or Mail To 

0ISKC0UNT DATA 

2701-C W 15th St. Suite 324 

Piano. TX 75075 

Olfice Hours Mon-Fn 10AM to 9PM C.ST 
Send Cash. Check or Money Order 
Please add $3 00 tor postage and handling addition 
al $150 lor CODs # 

Foreign orders welcome, please specify air 
surface All shipping charges assumed by purchase! 



iWhen ordering by 
model number (I. II. 
memory size 



ail. please specify computer 
( III), drive configuration and 



Cheerfully Accepted 



** See List 0/ Advertisers on Page 291 



80 Micro, December 1983 • 253 



NEWS 



edited by Eric Grevstad 




NEW 

THI 
MONTH 



14,000 miles with a Model 100 

Steve Roberts 9 bicycle odyssey. 




Anyone who's bought a TRS-80 
Model 100 will tell you that the por- 
table lets you work without being chained 
to a desk, but one owner is taking Tan- 
dy's "Micro Executive Work Station" 
idea far beyond an armchair or plane 
ride. Steve Roberts, a Columbus, OH, 
freelance writer, plans to conduct a 
year's business with his Model 100, 
without stepping into his office once. 

In fact, most of the time he'll be lying 
down — on a custom-designed recum- 
bent bicycle, festooned with generators 
and solar cells, which he'll pedal 14,000 
miles across America. 

On the road, Roberts will record his 
various writing projects using a helmet- 
mounted microphone and a portable 
tape recorder. After setting up camp, 
he'll transcribe his prose onto his 32K 
Model 100 and upload it via telephone 
to his main computer, a Micromax Sys- 
tem 1000, in Columbus. Kacy Branstet- 
ter, Roberts' manager and editor, will 
be standing by to receive copy, forward 
phone calls, and serve as what Roberts 
calls his "interface with the universe." 

Roberts' .DO files, he says, will make 
a pit stop between bike and Branstetter: 
The trip's primary sponsor, Compu- 
Serve Information Service, is supplying 
"essentially unlimited time and file- 
space" for uploading. CIS members are 
encouraged to chat with the rolling 
writer (his user ID number is 
70007,362), and his saga will be avail- 
able as a regularly updated data base: 
"I think you'll be able to just type GO 
SKR and it'll be there as a display file," 
Roberts predicted. 

An on-line travelogue isn't Roberts' 
first high-tech writing assignment. A 
former software and systems consul- 

254 • RO Ulr.m Dnrxunhmr f O/M 




F oberts: Til exist In a totally asynchronous fashion.' 



tant, the 3l-year-< Id author turned to 
freelancing in the l ite 1970s. As head of 



Words' worth Inc., a business commun- 
ications firm, he alternates magazine ar- 



Not cheap programs but complete software systems. I believe most software is 
pirated because it is overpriced and I'm taking this gamble to prove it. 

HELP STAMP OUT SOFTWARE PIRATES 

I advertised these Systems in 80MICRO for $79. I'd rather sell 1000 systems 
at $1 9.95 than 1 00 at $79.00. These are complete software systems sup- 
plied to you on a TRSDOS 1 .3 system diskette (I paid Tandy Corp. a royalty fee 
for this privilege). All systems fully menu driven — user friendly just insert 
diskettes, reset and go. Systems are supplied with full documentation (although 
most users report that they don't read it). 

LYNN'S PAYROLL SYSTEM 

Complete record keeping & payroll calculation. To include your state's un- 
employment tax & forms, detailed 941 form, prints paychecks & W-2's. 

LYNN'S ACCOUNTS RECEIVABLE SYSTEM 

Single entry — open invoice system. Prints invoice and statements. Built in 
aging report. 

LYNN'S CHECK REGISTER SYSTEM 

Prints checks. Register tor any month, reconciliation statement. 

LYNN'S AMWAY SYSTEM 

Includes group & individual performance levels of BV & PV Multiple sales tax 
rates. Products included on disk. New products easily added. YTD performance 
payments received and paid to your downlines. 

LYNN'S E-Z MAIL SYSTEM 

Sort by name, zip code, state. 2,500 names. E-Z edit. 

All systems have an easy menu driven back-up and are written in basic. 

AND NOW THE BEST PART 
ANY SYSTEM ONLY $19.95 EACH. 

Plus $3.00 shipping per order. Illinois residents add 5 1 A% sales tax. 
(The TRSDOS alone is worth $14.95) 

All systems phone supported call 815/436-4477 and ask the author JOE 
LYN N what you want to know. I will assist all original purchasers any way I can. 

Joe Lynn 




Computer Services 
23501 W. Gagne Lane 
Plainfield, Illinois 60544 

815/436-4477 



BankAmericaro 



VISA 



>s 115 



See list ot A&wtisen on Page 291 



80 Micro, December 1983 • 2S5 



NEWS 



tides and books (Prentice-Hall's 
Creative Design with Microcomputers 
and Complete Guide to Microsystem 
Management) with corporate technical 
writing assignments. The former, he 
told CompuServe's Today magazine 
editor Carole Gerber, offer "fame and 
glory," while the latter "[provide] 
steady income." 

His bicycle trip is a shot at both. In- 
terviewed two weeks before his sched- 
uled Sept. 28 departure, Roberts told 80 
Micro he planned a 700-mile "shake- 
down cruise" around Indianapolis, IN, 
and Louisville, KY. Then, in early 
November, he'll begin his journey with 
a turn south from Washington, DC, 
toward Florida to start a clockwise loop 
of the U.S. 

"I'm anticipating [the trip's taking] 
about a year, finishing up around the 
idea, of course, is to take advantage of 
as much good weather as possible." 

In preparation for the voyage, Rob- 
erts said, he was wringing out both his 
Model 100 and his legs: "I'm basically 
living off the Model 100 now for 
everything. Between the Model 100 and 
CompuServe, my office is very light." 

As for physical preparation, "The 
obscene part of all this is that I've been 
riding around central Ohio, which is 
very flat and [where it's] very easy to get 
cocky about your ability to go long dis- 
tances. [But] unless there are physical 
problems I don't see any trouble. I may 
bust a knee and jettison all this high- 
tech equipment." 

He's already jettisoned an item that 
would have spared him frequent visits 
to phone booths. Technical problems 
and the unit's weight aborted his plans 
to carry a second computer, a home- 
made CMOS CP/M system with VA- 
inch microfloppies for mass storage; 
that leaves him the stock Model 100, no 
storage except RAM, and obligatory 
stops to upload every 15 pages or so. 

"I'm hoping to get something that'll 
be useful for [bulk storage] fairly 
soon," Roberts admitted. "I've looked 
at wafertape drives, and I'm interested 
in what people are doing with 3!/2-inch 
floppies. If all else fails I have cassette, 
though I'm not crazy about it. 

"If anyone comes up with more 
memory, I'm ready. I've talked a little 
to Holmes Engineering about the 256K 
bubble memory and it sounds like it's 
not quite ready, but that would be a 
worthwhile purchase if it comes out 
256 • 80 Micro, December 1963 



sometime during the trip." 

Meanwhile, he estimates that his cy- 
cle, camping gear, and electronics 
equipment total about 110 pounds, 
some taken up by a high-tech way to 
save batteries: "A couple of solar 
panels that were donated by Solarex 
provide 15 volts in full sun," he said, 
and another sponsor has contributed re- 
chargeable Ni-Cad cells. 

Besides relying on them, plus an ac 
line when available, Roberts has a gen- 
erator similar to those that run bicycle 
headlights: "If I've got a good tailwind 
or I'm flying downhill, it's a simple 
matter to pop [the generator] against 
the wheel and get power." 

There's one item he doesn't expect to 
use — a CB radio, carried in case of 
emergency. "I've stripped it down 
almost to just a PC board," Roberts 
said. "It's not even near me when I'm 
doing my regular writing, but if I'm 
crashed in a ditch somewhere I'd like to 
be able to call for help." 

While the trip will challenge not only 
Roberts' stamina but the Model 100's — 
"how well it will do in the sun and vi- 
bration and dirt and everything else" — 
Radio Shack is keeping its distance 
from the project. "They know about it 
but seem kind of unresponsive," Rob- 
erts said when asked about any contact 
with Tandy. "I encountered such a 
huge, faceless organization when I [ap- 
proached them] for a sponsorship that I 
went back to CompuServe." 

That may be because Radio Shack is 
unwilling to share other people's pub- 
licity stunts. Roberts seems sincere and 
enthusiastic about the trip and eager to 
discuss it as an affirmation of new 
technologies' ability to liberate desk- 
bound workers, but the enterprise is not 
exactly free of Madison Avenue-style 
merchandising. 

In addition to his CompuServe up- 
dates, there's the matter of what Rob- 
erts will write during his year on the 
road. Besides freelance magazine arti- 
cles and material for corporate clients, 
he plans two books. One will be either a 
"boring but easy to write" text about 
on-line communications and engineer- 
ing, or a computer science text which 
Roberts calls "potentially a huge mon- 
ey-maker but a lot of work." 

Roberts' second and more important 
effort will be a book tentatively titled 
Computing Across America' A Bicycle 
Odyssey, for which his agent is current- 
ly negotiating with several publishers. 



Suspicion of Roberts' making the trip 
in order to write about it, rather than 
making it and then writing about it, 
lessens the credibility of his words to 
Today's Gerber: "The whole trip offers 
an opportunity to test the viability of 
the information society. I want to see if 
I can maintain a heavily interactive, 
information-oriented professional prac- 
tice involving a lot of clients [with] com- 
plete freedom from the confines of an 
office. I'll exist in a totally asynchro- 
nous fashion." 

Also, Roberts' point is to be free 
from desks and papers, yet he'll be car- 
rying generators and solar cells. Is that 
practical? "I think it is practical," he 
told 80 Micro, "and I've been doing it 
on a very small scale recently as I've 
been practicing. 

"I find I get a lot more done when 
I'm out on a beach or something with a 
Model 100. This morning, in fact, I 
wrote most of an article at a Wendy's 
restaurant while having breakfast. 
When I'm out of the office, there are 
fewer distractions and I can get more 
done." 

This makes sense, but sounds more 
like most users' appreciation of the 100 
as a handy notepad than a defense of a 
full-time career with one. Also, of 
course, Roberts' job fits his thesis better 
than most other professions would; the 
freelance writer is the most insecure fi- 
nancially, but the least place- and equip- 
ment-bound, worker there is. 

Nevertheless, Roberts insists, his trip 
goes beyond both commercial aspects 
and his point about the open office. "If 
I wasn't writing for a living and had lots 
of money I'd be doing it anyway," he 
said. "The fact that I'm not indepen- 
dently wealthy forces me to work while 
I'm on the road, and [the 100's] a con- 
venient way to do that. 

"1 don't think it is [a publicity stunt]. 
I've thought about it a lot and won- 
dered if it was, and it doesn't feel that 
way. It's something I do privately as 
well as publicly." 

And, anyway, Roberts' tour is an ad- 
venture. Computing Across America is 
unlikely to rival de Tocqueville's De- 
mocracy in America or William Least 
Heat Moon's Blue Highways, but Rob- 
erts' combination of gee-whiz Wood- 
stock spirit and "Real People" PR 
might produce a bestseller. 

How about Zen and the Art of Model 
100 Maintenance! ■ 

— E.G. 



TOOLKIT 

StewM SoMwaff 4 AERO0TNI RMMtt 
••Maftte lot in» Model 2 »«a Model 3 

TOOLKIT (•«*■ ,ou TOTAL ■««■■■ lo ALL el 

i"e iii«s ana p'ogrami on your o.t.s <ou mj v 

DECOOe'CMANGE'REMOVE •«t Ml« P«t»«otd 
OECOOE'CMANCE any matter o.»> p a t % * o i a 
CHANGE'REMOVE any Hit ptoltcl'Oti )•»■! 
REMOVE iimilad BACKUP a 1 1 ' • Du I • 1M0O ) I 

r e movE'assign i,ii •"> iiia turibalai 

CREATE lliainatt di'octoty IMo0 3l 
COPT duvclot i*» - •'• - - ■• ail 
SORT diracloty lo in> 
CHANGE diak i Cm 

Don* with a tupar fail menu driven aaiy louia 
m.cn.n. l.r.ou.0. program TOOLKIT doai 
NOT raqu.re any utai moaitOqi or OOS 

TOOLKIT .» m memory IJ2K) and nttll 
iirai one drive 

Why -ail* lime and ellori wilt byte-bv I ■'» 
heckinq •»•» Let TOOLKIT do II "I 

S39.9S " 

Specily Modi 1201 or Mod] ID vert. on 

STEWART SOFTWARE 
H01I 7e7-l»1« 



PO Boi S73 



i.(>" I TN J«101 



• add II JS mipDinq 
TN retidenit add 6 \ *. laiet li 



MC VISA AMEX accepted 



For Those Who Seek* 



Bible study aids from Bible Research 
Systems include the com- 
plete KJY Bible text on 
disks. THE WORD pro- 
cessor can search the 
Scriptures for any word or 
phrase. Any portion of the 
Bible can be printed or 
displayed. Create your own 
library of research materials 
or use ours, called TOPICS. — — 

TOPICS contains cross-reference indexes on over 200 
oi the primary subjects discussed in Scripture. 

Bible Research Systems applies computer technology 
to personal study of the Scriptures. 




TOPICS 

$49.95 



Bible Research Systems 

9415 Burnet, Suite 208 
Austin, TX 78758 
(512)835-7981 *i 



THE WORD 

processor 
$199.95 

Plua $3 pottage 'handling 



Requires APPLE 1! + , IBM-PC. TRS80-11I. OSBORNE. KAYPRO. or CP/M 8" 



(Soli f lug Bfl 



Eliminate disk reboots and data loss due to oxi- 
dized contacts at the card edge connectors 
GOLD PLUG 80 solders to the board edge con- 
nector Use your existing cables (if gold plated) 



GOLD PLUG 80 Mod I Mod 




& 



GOLD PLUG 80 Mod I (6) **&, 

Keyboard/El (mod I) WJjJr 

Individual connectors ^ 

GOLD PLUG 80 Mod 111(6) c?\<? 
Internal 2 Drive Cable 
Mod III Expansion port 

Available at your favorite dealer or order direct from EJ^P. CO 
Dealer Inquiries Invited 



$44.95 
15.95 
$7.95 
48.95 
29.95 
9.95 



TRS-80+ MOD I, III, COCO, 
TIMEX 1000, OSBORNE, 
TI99/4a others 

COCO MODULE INSTALLATION AVAILABLE 

COCO Disk Module 

,-i ; ^_ 

H I Ground tab 

SJftp . extensions 




COCO Disk Module (2) J*v 

Ground tab extensions I16W 

Disk Dnves (all R.S.) ^^v 
Gold Disk Cable 2 Dnve 

Four Dnve Cable ^ '4* 



#& 



$1695 

INCL 

$7.95 
29 95 
39.95 



USAsfwppmgSl 45 
Fowgn$7 



Can/Mo»S4 
TEXAS 5* TAX 



P.O 



The GOLD PLUG 80 extends the existing 
connection 1/2". The ground tab extensions 
extend the ground tabs T/2 to contact the 
ground clips. The ground reduces the RFI 
interference to the monitor. 

The Gold Plug 80 
GOLD PLUG 80-E.A.P. COMPANY „2i« 
Box 14 Keller, TX 76248 (817) 498-4242 



trademark Tandy Corp 



• See Ust of Advertisers on Page 291 



80 Micro, December 1983 • 257 



NEWS 



SOFTWARE 



ROM is copyright 



Apple wins; Franklin to appeal 



Diving into a hazy maze of O's and 
l's, a federal appeals court in Phila- 
delphia has issued a ruling that makes 
the question of software copyright one 
step clearer, even as it blurs the distinc- 
tion between software and hardware. 

On August 30, a three-judge panel 
upheld Apple Computer Inc.'s lawsuit 
against Franklin Computer Corp., al- 
lowing Apple to seek an injunction 
against sates of Franklin's Apple-com- 
patible Ace 1000. The key decision: 
computer manufacturers can copyright 
operating systems and programs in 
ROM, as well as applications programs. 

Writing that "the medium is not the 
message," Circuit Court Judge Darcy 
Slovher overturned a lower court's de- 
nial of Apple's suit. Franklin admitted 
copying 14 operating system programs 
before the lower court, but argued that 
such programs embodied in chips are 
essential parts of the machine — hard- 
ware — and, as such, ineligible for copy- 
right. 

The presiding federal district judge 
agreed, finding that firmware was not 
written "in a language of description" 
and refusing to issue a temporary re- 
straining order against Franklin. The 
appeals court's decision lets Apple re- 
turn to district court and seek the in- 
junction, even as Franklin's lawyer, 
James Shestack, announced plans to 
ask for a rehearing — round 3 of the bat- 
tle, so to speak — before the entire Court 
of Appeals. Round 4 might take place 
in the U.S. Supreme Court. 

In upsetting Franklin's claim that the 
programs were an uncopyrightable 
"process, system, or method of opera- 
tion," Sloviter and his colleagues said 
that that approach "mistakenly focuses 
on the physical characteristics of the in- 
struction," like paying attention to a 
book's ink and paper rather than its 
contents. "Apple," the panel declared, 
"does not seek to copyright the method 
which instructs the computer to per- 
form its operating functions but only 
the instructions themselves. 

"Franklin's attack on operating sys- 
258 • 80 Micro, December 1983 



tem programs as 'methods' or 'pro- 
cesses' seems inconsistent with its con- 
cession that application programs are 
an appropriate subject of copyright," 
the court continued. "Both types of 
programs instruct the computer to do 
something. 

"The statutory definition of a com- 
puter program. .. makes no distinction 
between application programs and op- 
erating programs. We reaffirm that a 
computer program in object code em- 
bedded in a ROM chip is an appropriate 
subject of copyright." 

The decision makes an important dis- 
tinction between the two legal means by 
which people protect their ideas— copy- 
right and patent. As the New York 
Times' David E. Sanger wrote, "Under 
U.S. law, copyrights protect the expres- 
sion of an idea, such as a literary work. 
Ideas themselves, in the form of novel 
inventions, are protected by patents." 

In Franklin's view, Apple's operating 
programs were unpatented hardware, 
and therefore free for copying. Com- 
puter makers, Sanger pointed out, 
"have shied away from using the patent 
system to protect their programs," be- 
cause patents take a long time to obtain 
and because "it is not clear whether 
most computer programs are sufficient- 



ly novel and distinct from one another 
to merit patent protection." 

For example, Scripsit and Newscript, 
both TRS-80 word processors, are alike 
in many ways — generally, they're both 
written in l's and O's; more specifically, 
they use similar routines to perform 
similar tasks such as opening and clos- 
ing files. Like two novels written with 
the same words, they are not different 
enough to be patented. They are, how- 
ever, copyrighted by Radio Shack and 
Prosoft respectively. 

As for Apple, the Cupertino, CA, 
firm's vice president and general coun- 
sel, Albert Eisentat, was naturally pleased 
with the ruling, telling Computerworld, 
"I think it's one of the most definitive 
statements of the law that's been done 
yet." 

Whatever the odds, however, Frank- 
lin vowed to continue the fight. The 
Cherry Hill, NJ, company's executive 
vice president and chief operating of- 
ficer, Avram Miller, told reporters, 
"Our plans right now are to go back to 
the court for redress. We believe we'll 
prevail and the injunction will be 
denied." 

Added attorney Shestack, "We still 
contend that Apple was abusing the 
copyright laws to gain a monopoly on 



As this issue went to press, Osborne Computer Corp. stopped production 
of its portable computers, laid off 300 of its 400 remaining workers, and filed 
for protection from creditors under Chapter 1 1 federal bankruptcy laws. 

The Hayward, CA, firm employed 1,000 people before closing its New 
Jersey plant and beginning California layoffs last summer, plagued by more 
powerful and less expensive competitors to its Osborne 1 and delays in ship- 
ping its successor, the Osborne Executive. 

On Sept. 12, two San Jose component suppliers filed a lawsuit claiming 
Osborne owed them more than $4.5 million for circuit boards, disk drives, 
and other parts. The portable pioneer filed for Chapter 1 1 protection in U.S. 
Bankruptcy Court in Oakland on Sept. 13. 

James Lopes, attorney for Osborne, told the Associated Press that three 
banks had agreed to loan the company $600,000 while Osborne sought possi- 
ble buyers or investors. 



1 



-fit 



iz 



■& 



& 



* 



^ 



& 



^ 



i? 



& 



* 



# 



& 



<S 



& 



TZ 



JbL 



& 



& 



* 



& 



T2T 



^z_ 



* 




micro's 




The guide that will save you time and money. 

You'll spend more time at your 
computer and less money for the 
right product. 

80 Micro's Review Guide is the 

most comprehensive collection of 
TRS-80* reviews ever compiled in 
book form. You get 500 hardware, 
software and book reviews packed 
with information about: 



•Modems 


•Printers 


•Games 


•Utilities 


• Business 


•Editor/ 


programs 


Assemblers 


& Word 


•Educational 


Processing 


software 


•Jovsticks 


• Monitors 


•Books on 


•Databases 


programming 


•And more 



■ I i 5-80 U a Iraili-mark ul Huih. Shock, a </.i 



Don't waste valuable time chasing 
down the right product. We've done 
it for you with 80 Micro's Review 
Guide, compiled and condensed 
from the pages of 80 Micro, the 
magazine you've come to rely on. 

A live-star rating system lets you 
decide what's best. And each review 
gives you the product manufacturer's 
information so you can order and re- 
ceive your product fast. 

All for $7.95 

Order now. Use the 
attached order form, 
the coupon, or call toll free 
1-800-258-5473. 



Tandy ( orp Oulmdr I \\. Phone. 603921-9471 



jrCSf I want to save time and money. 
Send me 80 MICRO'S REVIEW GUIDE today. 



Please send me 



Review Guides at $7.95 each 



.- nd add $1 .50 per book shipping and handling. 

U Check enclosed MC [ . VISA I AE 

Card* 

Signature 

Name 

Address 

City 




80RGD 



Please allow 6-8 weeks for delivery 

Exp. Date 



State. 



Zip Code. 



Wayne Green Inc. • 80 Pine St. • Peterborough, NH 03458 Attn: surd, stone 



•is 



?? 



TFE- 



JkL. 



^ 



* 



* 



<Z 



^x 



JL* 



2 



* 



* 



* 



* 



ir 



H£r 



z 



|U»i 



it 



s 



a 



JU 




SPECIALS OF THE MONTH! 




NEXT DAY SHIPMENT OF THE LNW 80 MODEL II 



LNW-80 
MODEL II 




This computer has it all! TRS-80™ Model I and CP/M® software 
compatibility with two operating systems; DOSPLUS 3.4 and CP/M 
2.2. The LNW 80 MOD II can read and write the 5W disk formats of 
several CP/M computers including: OSBORNE, KAYPRO, XEROX 820, 
CP/M 86 as well as standard 8" IBM format. Standard features: 96K 
of RAM, parallel and serial ports, 
cassette and joystick ports, RGB and 
Composite Color interfaces, HI-RES 
graphics and much more! Six 
month warranty. 

Now included, over s 2000 of software! 

Word processing, spread sheet, communications, 

graphics, and complete accounting software. 




Call for unpublished 
low, low price! 



PRINTER SPECIALS! 



New TOSHIBA P1350 dual mode 
printer • 100 CPS letter quality and 
160 CPS draft quality .... *1595.°° 

C.ITOH 

F10 40 CPS • bi-directional daisy 

wheel printer *1195.°° 

GORILLA BANANA *209. 95 

PROWRITER 8510 «399.°° 

PROWRITER 1550P *679.°« 

EPSON 

MX 80 ft *469.°° 

MX 100 *649." 

FX 80 *569." 

FX 100 *759.°« 



RICOH 

15" Daisywheel Printer 

20 CPS *699. M 

35 CPS *829. w 

DAISYWRITER 

40 CPS, 48K buffer, daisywheel, 

incredible price! $ 1129.°° 

OKIDATA 

Call for guaranteed lowest price! 
GEMINI 

10X *319. M 

15 *479.°° 

SILVER REED 

500 *469.<» 

550 *679.°° 



TRS-80 ACCESSORY CLOSE-OUT SALE! 



Micro Mainframe MOD III disk 

controllers: 

5" only M9." 

5" & 8" *77.°« 

CP/M 2.2 conversion boards for 

MOD III, includes CP/M 

48K board *99. WI 

64K board *139.°° 



2 drive power supply with 
cables *49.°° 

2 drive assembly kit • Vs disk 
controller, power supply, drive 
towers *129.°° 

Drive kit with 2 tandon TM100-1 
drives *549.°° 




mmPfw® 



We guarantee everything we sell. Any product can be returned to us 

within 15 days for a prompt refund. Just send back all the original 

contents including manufacturer's registration and warranty cards. 

All returns are subject to a 10-15% restocking charge. One year 

extended warranty available on everything we sell. Call for prices. 



All prices quoted are cash discounted prices. We also honor 
Mastercard, Visa, American Express and Company purchase orders. 



ACCESSORY SPECIALS! 



LNW Ve doubler *159.°° 

LNW 5 /b doubler with 

DOSPLUS *179. 00 

LNW expansion II *329. M 

Diskette Storage Cases 

• Flip-top, 75 disk capacity, 
dividers included $ 19. 95 

MONITORS 

NEW C.ITOH 12" green with stand 

• 18 HRZ HI-RES >119. 00 

BMC 12EN with built-in anti-glare 
screen *169.°° 

USI 12" green • 20 HRZ. . . *169.°° 
USI 12" amber $179.°° 

NEW Princeton Graphics PGS- 

HX12 HI-RES RGB color 

12" *499. 00 

NEW tilt and swivel monitor stand - 
supports any monitor *29. 95 



IBM PC COMPATIBLES SALE! 

EAGLE - COLUMBIA DATA - 

CORONA - - - 

Call for lowest prices! 

WE HAVE THE PORTABLES! 

KAYPRO, TELEVIDEO, COLUMBIA 
DATA, CORONA, OTRONA - - - 
Call for lowest prices! 



1100 EAST HECTOR STREET 
CONSHOHOCKEN, PA 19428 
215-664-5383 



( P M '» d mdemjfk ot Ogiul Research Coip TRS-80 is a ifidemjrk oi Tindv Corp, dfHSHI is * irjd<>rrui>> m <Sshton-Taie: Sl.PfR Hi !<jdf iufk ol l-S \ Ini 
Pricei tie »ub|i-ci 10 rkinge wiiSoui nolice Qiuniiiiet tre limited 



NEWS 



equipment compatible with its machine." 
Ekos Inc., a Franklin distributor, is- 
sued a press release affirming its sup- 
port of the Ace manufacturer. Ekos 
President Steven R. Gerbsman de- 
clared, "There are other alternatives 
not yet explored, including royalty pay- 
ments, that cause us to believe we'll be 
marketing Franklin computers for some 
time to come." 

The mention of royalty payments in- 
dicates a possible direction for settle- 
ment, though no one's talking at pres- 



ent; all Miller would tell ISO World 
was, "We have contingency plans if we 
fail." 

One of Franklin's contingency plans 
is probably its IBM PC-compatible 
micro, being prepared under the direc- 
tion of engineer William Sydnes, who 
designed the original PC and reportedly 
was working on IBM's Peanut when he 
moved to Franklin in April. 

The Philadelphia ruling does not af- 
fect makers of IBM clones, because 
IBM's "open architecture" policy 



makes details of its PC system readily 
available. 

Nevertheless, the Apple/Franklin de- 
cision means that computer companies 
can protect all software — whether on a 
disk, a listing, or a chip, and in source 
or object code — by copyright. Manu- 
facturers continue to worry about 
small-scale piracy and product backups, 
but system pirates have apparently been 
sunk.B 

—E.G. 



BUSINESS 



Waiting for Santa 



The micro industry looks to the Christmas market. 



After a summer of rollercoaster 
stock prices and grim predictions 
for TI and Atari, the microcomputer in- 
dustry tried to pull itself into shape for 
the Christmas buying season. By 
September, some companies had 
asserted themselves as movers and 
shakers, some were on the move, and 
others were merely shaking. 

Taking the latter first, Texas Instru- 
ments moved swiftly to reduce towering 
TI 99/4A inventories. A price cut to $99 
helped move the overstocked machine, 
and a peripheral package consisting of a 
disk drive and controller, 32K RAM ex- 
pansion, and rack mount, was slashed 
from $1,200 to $550. In addition, stores 
received a free $100 software package 
for every system ordered. 

According to Electronic News, 
dealers immediately started selling the 
expansion package and software for as 
little as $449, with industry observers 
predicting $399 before long. Such a 
price, bringing a 48K disk system to 
around $500, would be competitive, 
though other questions remained 
unanswered: whether buyers would be 
attracted to the software-scarce micro, 
and whether TI could survive at such a 
low (perhaps negative) profit margin. 

Turning the knife in TI's wound, 
Montgomery Ward issued its 1983 
Christmas catalog on September 
9 — and bumped the 99/4A to give space 
to Coleco's Adam. 

Timex dealers had even less to smile 
about. Ken Coach, marketing and sales 



director of Softsync, told Info World, 
"The Timex-Sinclair 1000 has petered 
right out." Coach hoped that the forth- 
coming TS 2068, the U.S. version of the 
Sinclair Spectrum color machine, might 
share the under-$200 market with Com- 
modore, but saw no prospects for the 
black-and-white TS 1500: "I'm not put- 
ting any hopes on it at all." 

Following TI's lead, meanwhile, 
Atari cut prices for most of its lineup, 
from the 2600 VCS game console (ef- 
fectively trimmed to $59 after a rebate) 
to the new 600XL and 800XL home 
computers, given wholesale tags of $140 
and $240 respectively. Even so, Atari's 
retail prices were some $60 above the 
competition's — the 600XL versus the 
99/4A in the 16K arena, and the 800XL 
versus the Commodore 64. Just as TI 
disappeared from Montgomery Ward 
shelves, the 203-store Target chain add- 
ed Coleco and dropped Atari. 

The Warner Communications sub- 
sidiary seemed to be pinning its hopes 
on its AtariSoft line of programs for 
non-Atari micros, announcing 12 
games for the 99/4A and eight for 
Commodore, IBM, and Apple. In addi- 
tion to computer versions (expected to 
retail for $38 to $50 apiece), Atari 
launched several titles for rival Intellivi- 
sion and Coleco Vision game machines. 

While VIC-20 sales slowed to a crawl, 
Commodore 64' s were jumping off the 
shelves. While $199 prices gave only a 
$5 margin over wholesale cost, vendors 
relied on peripherals and software for 



profit. For instance, 90 percent of C64 
buyers also choose the 1541 disk 
drive — supplies of which nearly ran out 
in late summer, obliging Commodore 
to schedule an emergency airlift from 
Japan. 

Spinnaker Software President Bill 
Bowman echoed the industry consensus 
when he told Info World, "If the low 
end is going to have a savior, it will be 
the Commodore 64." The only machine 
that seemed competitive was Radio 
Shack's white-cased 64K Color Com- 
puter, which debuted at $399.95— well 
under the C64's original $595, but twice 
Commodore's current price. (The com- 
pact new Color Computer 2 with 64K 
RAM and Extended Basic lists for 
$468.95, plus upgrade installation.) 

How low will Commodore go? In its 
July 25 issue, ISO World claimed that 
building a C64 costs Commodore less 
than $60 and that the firm could "ap- 
parently sell the 64 for $99 wholesale 
and still make a profit." 

While no one seemed ready to tackle 
Commodore in the trenches, many 
manufacturers were comfortable in the 
higher levels of the market. Kaypro was 
making about 12,000 machines a 
month, while Apple and IBM each pro- 
duced perhaps 70,000 lie's and PC's re- 
spectively. Compaq predicted $100 
million in revenues for its first year, sell- 
ing 50,000 copies of its portable PC 
clone. 

There were rumors of more middle- 
range micros to compete with Adam 
80 Micro, December 1983 • 261 



NEWS 



and Peanut— a $500, 16-bit, 256K 
Commodore; an under-$ 1,000 TI with 
concurrent CP/M in ROM. Steve Woz- 
niak told the San Jose Mercury News 
that Apple's Mcintosh, due in Novem- 
ber or December for $1,200 or so, 
would "just [boggle] everyone. It's just 
totally unbelievable and unexpected, 
not just a better version of something 
that is already around." 

Coleco rebounded from pessimists' 
gossip to show production units of 
Adam (though a press release said "less 
than $700" instead of the usual $600 
cost figure), and Child World, Mark- 
line, and Diners Club joined Wards and 
Target in placing orders for fall 
delivery. In mid-September, though, the 
press reported that Adam's FCC ap- 
proval would be a month behind 



schedule. 

Coleco also joined AT&T in plans for 
"an interactive game and entertainment 
service," bringing Zaxxon and com- 
pany to anyone with a home computer 
or game console. The service will use 
standard phone lines and an AT&T/ 
Coleco modem; subscribers will pay a 
monthly charge plus user fees to play a 
game. The announcement upstaged 
Mattel, which developed the Playcable 
service now offered by 20 cable TV 
companies. 

And IBM prepared to upstage every- 
body, with 100,000 Peanuts sold by 
Christmas. There was talk of still other 
news from Big Blue — a portable PC by 
year's end, a $10,000, 32-bit challenger 
to Lisa by spring 1984 — but IBM's 
home computer continued to rule the 



gossip world. 

Analysts couldn't agree on specifica- 
tions, Datamation reported, but they 
agreed on one thing: Whether it cost 
$700 or $900, had 64K or 90K, and used 
a tape drive or a standard 5 V* -inch disk 
or IBM's orphan 3.9-inch disk or 
CP/M or MS-DOS on a ROM chip, 
Peanut would use the IBM name to be- 
come the dominant force in home com- 
puting. 

In the words of Peter Cunningham, 
president of Input, a Mountain View, 
CA, research firm: "Coleco's Adam 
might be state of the art for the home 
market and have the lowest retail price, 
but it will probably be IBM that makes 
all the money." ■ 

-E.G. 



PULSETRAirUT-n-TLTLT 



Magic/L 

challenges 

Basic 

Loki, in Norse mythology, 
is a malevolent, mischievous 
god, always making trouble 
around the gods' home of 
Asgard and (in Marvel Com- 
ics' version) trying to defeat 
the mighty Thor. If Basic is 
the Thor of microcomputer 
languages, Loki Engineering 
of Cambridge, MA, is hop- 
ing to raise a little mischief of 
its own with a syntax called 
Magic/L. 

According to Mass High 
Tech, Magic/L is "a Forth 
equivalent with simpler syn- 
tax and a high level of inter- 
activity with the user." Its 
authors, Loki's Jeff Epstein 
and Arnold Morris, compare 
it to C and Pascal in terms of 
structure, but claim it's more 
powerful and more interac- 
tive. 

"Magic/L is much faster 
than Bask, and can be learned 
in hours," Morris said. 

262 • 80 Micro, December 1983 




WorfcSlate Designed to do one thing well. 



"[It's] the ultimate in user 
friendly, and once you get 
good, it allows you to do 
things like access Assembly 
language directly." 

While working on satellite 
data display systems at the 
Smithsonian Astrophysical 
Laboratory, Epstein recalled, 



he and Morris became "frus- 
trated because [Forth] was so 
hard to read. Forth is what 
some people call a write-only 
language." In other words, 
what looks fine to a Forth 
programmer might prove 
baffling to someone who 
wants to modify the program 



later. 

In addition, Epstein claims, 
Forth and other languages 
"have their roots in prehis- 
tory. Basic, for heaven's 
sake, was written on an IBM 
1 130, much less of a machine 
than an Apple." 

To overcome these short- 



PULSETRAIKJUULTLr 



comings, the two program- 
mers developed Magic/L, 
working on a Data General 
Nova in Epstein's basement 
in early 1981. Today, Mass 
High Tech says, Loki "is bet- 
ting its future that Magic/L 
will become a standard lan- 
guage of the 1980s — perhaps 
even competing head-to-head 
with Basic in the personal 
computer market." 

After selling it as a develop- 
ment tool for minicomputers, 
Marketing Manager Barry 
Unger said, Loki planned to 
launch CP/M-86 and MS- 
DOS versions of the new 
language at Boston's CP/M 
East show in October, and 
hoped to make Magic/L a 
household word before long. 

"New languages are usu- 
ally developed by large teams 
at universities," Unger said, 



"but we believe we have 
something that is way ahead 
of anything else, and we see a 
tremendous growth poten- 
tial." 

Who knows? If Magic/L 
proves a threat to Microsoft 
and Digital Research, Loki 
Engineering may incur the 
wrath of the gods. 

Non-pro- 
grammable 
portable 

While Tandy's Model 100 
and its rivals are lap-sized 
workstations suitable for al- 
most any computing task, 
Convergent Technologies Inc., 
of Santa Clara, CA, has 
taken a different approach. 
Its WorkSlate is designed for 



specific applications, giving 
executives a spreadsheet, cal- 
culator, terminal, and tele- 
phone in an 8 l A- by 11-inch 
package. 

The 3 '/i -pound portable, 
introduced in Computer- 
Land and Businessland stores 
and in the American Express 
catalog, has a 16-line, 46- 
character LCD display, an 8- 
bit CMOS 6800 CPU, a 300- 
baud modem, and a built-in 
microcassette recorder. Its 
16K RAM is expandable to 
32K, but its strength is its 64K 
ROM — which includes an 
advanced spreadsheet and 
windowing capabilities. 

For instance, users can put 
a spreadsheet at the top of the 
display and a financial calcu- 
lator at the bottom, moving 
data back and forth between 
the windows. 



WorkSlate's audio record- 
er lets it serve as a speaker- 
phone and phone-answering 
machine; spreadsheet tem- 
plates, called Taskware, are 
available on special data/ 
voice tapes. Its maker, Con- 
vergent^ new Advanced In- 
formation Systems division, 
claims users can use the tape 
recorder to make vocal anno- 
tations to spreadsheets, up to 
10 of which can be stored on 
a microcassette. 

The firm plans communi- 
cations, financial-modeling, 
and memo-writing software — 
not full-featured programs, 
but patches or templates to 
WorkSlate's spreadsheet en- 
vironment. There may also 
be different machines for 
writers and students; Con- 
vergent marketing manager 
Karen Toland admits Work- 



PRICES YOU CANT BEAT! . . 



LNW 80 Model II 

128K. 5/8 DISK CONTR. RGB COLOR. HI 
RES GRAPHICS RS 232. PAR PRINTER PORT. 
80x24 DISPLAY. I YEAR WARRANTY, PLUS 
MICROSOFT BASIC. LNW BASIC. DOS+ 3 4. 
CPM 2 2. CHART-X GRAPHICS MiCROTERM. 
ELECTRIC PENCIL ELECTRIC SPREADSHEET. 
PROF BUSS ACCTING (g«n«ral ledqer, accts 
pay. accts. rec . payroll) CfSQS 

BUYTHBMONTHGETA7EAC40TRKSS FREE 



COMPUTERS 

TIMEX $56 I 6 MEM $42 

APPLE CLONE (SYSCON 2) $599 

TRS 80 COLOR COMP. 1 6K $269 

MOD III 48K2/40TRK. S/S. RS232 $1,730 



CRT MONITORS 

AMDEK 300 GREEN S I 39 

AMDEK 300 AM8ER $159 

AMDEK COLOR I $559 

AMDEK COLOR II $639 

TAXAN RGB COLOR I 8299 

TAXAN RGB GOLOR IN 8535 

TAXAN GREEN 8125 

TAXAN AMBER 8139 



TEAC V4 SIZE DRIVES 

FD 55 A 40TRK S/S 
FD 55B 40TRK D/S 
FD 55F 80TRK D/S 

ALL TEACS HAVE A 1 YEAR WARRANTY 



Bji* Comp 

$209 $245 

$280 $319 

$320 $360 



Rtrt Compl 

$159 $199 

$225 $280 

$340 $385 



TAN DON DRIVES 

100-1 40 TRKS/S 
1 00-2 40 TRK D/S 
1 00-4 80 TRK D/S 

ECONOMY DRIVES 

COMPLETE W/CASE/PWR SUPU 

40TRK S/S $195 



APPLE COMPATIBLE DRIVE 

W CONTR CARD. CASE & CABLE $275 

C-ITOH PRINTERS PAR SER 



PROWRITER 85 1 

PROWR1TER 1550 

F-10 40CPS 

F-10 55CPS 

F-IO TRACTOR FEED 

QUME SPRINT I I 40CPS 



$359 $525 

$660 $725 

$1095 $1095 

$1395 $1395 

$195 

$1,450 



MODEMS 

NOVATION|-CAT $135 

SIGNALMAN $85 

HAYES Smart modem # 1 200 " $415 



LNW SYSTEM EXPANSION II 

UPGRADE YOUR MOO 1 OR PMC 80/81 WTTH 
DISK CONTROLLER RS 232 PARALLEL 
PRINTER PORT 32K 200 NS MEMORY GOLD 
CONNECTORS TRANSFORM- CASE CABLE 

SPECIAL THIS MONTH 9339 

EXPANSION INTERFACES 

MICRO DESIGN MDX-2 $449 

MICRO DESIGN MDX-3 $289 

LNW DOUBLER w DOS+ 3.4 9189 

DOUBLE DENSITY MULTIPLIER $95 



SOFTWARE 

LAZY WRITER $159 

ELECTRONIC WEBSTER $119 

MAX! MANAGER $129 

K5STMAN $119 

DOS PLUS 3.4 $89 



ZORLOf $79 

SUPER UTILITY* 3.0 $65 
MAS. 80 e*.JI35 

NEWSCRIPT $114 

OMNITERM I b $78 



24 HOUR TOLL FREE ORDERS 

VISA/MASTER CHARGE ONLY: 

(800) 633-2252 EXT 720 

ALL QUESTIONS: (313) $34-1 1 12 

MICHIGAN RESIDENTS AC© 4% SALES TAX POSTAGE 

CALL FOR CHARGES PRICES ARE DISCOUNTED FOR 
CASH AND MONEY ORDER (NOfi CERTIFIED CHECKS 
ALLOW 2 WEEKS TO OjEAfOMASTER CARD AND VSA 
AOOJ% NO COD NO NET TERMS 




VF^P ACOMPUTER OUTLET 

W ^bb*«#I ^^ 16727 Patton Detroit MI4fi?lQ 



»- Sem Uat ol Advertiser* on Page 281 



80 Micro, December 1983 • 263 



PULSETRAirUTJLTLnjr 



Slate's circular keys dis- 
courage typing, but says, 
"Executives don't type. They 
do word processing with their 
mouths. 

"WorkSlate is designed to 
replace the calculator, pencil, 
paper, and eraser," Toland 
told InfoWorkfs John Mark- 
off and David Needle. "It 
will not compete directly with 
the Tandy Model 100." 

The unit costs $895, with 
Taskware tapes selling for 
$19.95 to $49.95 and a printer 
for $250. 

Small is 
profitable 

Most office automation 
firms such as DEC, Wang, 
and IBM hope to place their 
products with the prestigious 
Fortune 1 ,000 companies, 
whose business totals over 
$1.8 trillion in annual reven- 
ues. However, according to 
Focus Research Systems of 
West Hartford, CT, there's 
an even bigger market among 
small businesses. U.S. com- 
panies with annual sales of 
under $25 million apiece 
combine for over $2 trillion a 
year — and the advent of of- 
fice micros has made them 
prime candidates for auto- 
mation. 

American business, Focus 
points out, consists "of a 
handful of large companies 
and a gigantic number of 
small businesses": of an 
estimated 3.56 million non- 
agricultural companies, 3.55 
million — 99.7 percent — have 
under 500 employees. Per- 
haps 3.1 million, or 88 per- 
cent of all U.S. businesses, 
have fewer than 20 people on 
their payrolls. 

Except for a copier (most 
firms with eight or more 
employees have a copy ma- 
chine), these offices stayed 
unautomated while main- 
frame and mini salesmen 
264 • 80 Micro, December 1983 



made their rounds. "A small 
company with $200,000 in 
annual sales may allocate 
$4,000 annually for automa- 
tion, and such a sum hardly 
warrants a major sales effort 
by any vendor," Focus' sur- 
vey, "Small Business Auto- 
mation," admits. 

The microcomputer era 
changed that. From 1979 to 
1982, Focus' survey states, 
254,000 small firms bought 
computers. Of those buyers, 
80 percent had 1-19 
employees; while only 78,000 
firms that size had a com- 
puter in 1979, over 278,000 
had one three years later. 

Looking ahead, Focus pre- 
dicts over 900,000 small busi- 
nesses will buy their first 
computer within the next 
three years. By 1984-85, the 
researchers claim, the com- 
puter market among com- 
panies with under 450 
workers will total $8 billion, 
with more than half of that 
coming from firms with 
under 20. 

"Computer vendors with 
low-cost products and distri- 
bution systems capable of 
selling in volume are well po- 
sitioned to reap the benefits 
of this massive market," 
Focus concludes. 

Say it with 
paper 

In a recent "Side Tracks" 
column (November 1983, p. 
6), 80 Micro's editor-in-chief 
Eric Maloney remarked that 
the magazine prefers submis- 
sions and queries on paper to 
messages on CompuServe. The 
market researchers at Interna- 
tional Resource Development 
Inc. see broader implications, 
describing an anti-videotex 
backlash that illustrates Hege- 
lian philosophy. 

Proclaiming, "The 'Paper- 
less' Home? According to 
Hegel, No Way!", IRD 



claims that the telecommuni- 
cations boom will actually in- 
crease the consumption of 
certain kinds of paper— that, 
with "uniformity, mechaniza- 
tion, and depersonalization" 
as the thesis, people will long 
for its antithesis. 

"People don't need paper 
just for business reasons," 
says IRD researcher Ken Bo- 
somworth. "They need paper 
for personal reasons, too. A 
letter written on personalized 
stationery will be far more 
meaningful than the same 
words appearing on a CRT — 
and, for that matter, more 
meaningful than the same 
words printed out on com- 
puter paper." 

Thus, the Norwalk, CT, 
analysts predict, the future 
will bring not one big happy 
Network Nation but "a re- 
surgence in demand for" 
high-quality stationery, busi- 
ness forms, and greeting 
cards, as people seek more 
sincere correspondence. "And 
tfie Hegelian synthesis," IRD 
concludes, "shall be a world 
in which the old and new me- 
dia are each appreciated for 
the respective strengths they 
bring to communications." 

While rejecting the idea of 
videotex Valentines, Bosom- 
worth admits that telecom- 
munications will prevail over 
printed catalogs, directories, 
and Yellow Pages. "The syn- 
thesis-antithesis concept only 
applies in situations where 
deeply felt human needs are 
involved," he says. "If it's a 
question of efficiencies on the 
one hand and no emotional 
need on the other, the effi- 
ciencies will win out every 
time." 

CRT users 
see pink 

It seems the debate over 
possible health effects of 



CRT displays will never end. 
A National Academy of Sci- 
ences panel concluded in July 
that terminal use has no ad- 
verse effects on operators' 
vision, but the National Insti- 
tute of Occupational Safety 
and Health (NIOSH) vowed 
to continue research on 
health-related CRT prob- 
lems, including a study focus- 
ing on CRTs and pregnancy 
(see 80 Micro, October 1983, 
p. 294). 

Now three IBM PC users 
have discovered that gazing 
into a computer monitor does 
indeed have an effect on vi- 
sion, if not exactly an adverse 
one. Look at a CRT long 
enough, and white figures on 
a black background turn 
pink. 

Susan Green wald, an Evans- 
ton, IL, architect, noticed the 
color distortion after a ses- 
sion of PC word processing. 
Greenwald's husband Mark, 
an ophthalmologist, contacted 
Randolph Blake, a North- 
western University psychol- 
ogist who specializes in visual 
perception. Blake took one 
look at the CRT and gave a 
rosy diagnosis: the McCol- 
lough effect, a minor optic 
maladjustment that can last 
from several minutes to sev- 
eral weeks. 

"I routinely explain the 
IvJcCollough effect in my lec- 
ture courses," Blake told 
Computer-world. "The con- 
ditions under which the effect 
is produced have to be fairly 
constrained. But it just so 
happens that the green letters 
on the black terminal gener- 
ate just this aftereffect. 

"The most interesting thing 
is that the pattern of the color 
distortion conforms to the 
pattern and contour of the 
letters on the screen. That is, 
if you stare for a long time at 
a CRT, then see white letters 
on a black background that 
are of similar size and shape, 
you'll get the pinkish tint." 



Introducing the Most Powerful 
Business Software Ever! 

TRS-80 " (Model I, II, III. or 16) • APPLE "• IBM "• OSBORNE '"• CP W« KAYPRO '" 




FREE-TRS-80 Mod 1. Ill & 4 
programs supplied on DosPlus 
(minimum system) Complete 
DosPlus also available 



te\ 



The versaBusiness" Series 



Each VERSABUSINESS module can be purchased and used independently, 
or can be linked in any combination to form a complete, coordinated business system. 



VERSARECEIVABL ES" $99.95 

:. :e menu driven aciuunts receivable, invoicing, and 
monThly sw> > 'lion relateci I 

. y, and can provide automatic billing (or past due ac- 
I 
reports i I " and Vkrsa!: 

VERSAPaYABLES - $99.95 

VERSA PAYABLES- is designed to keep track o( current and aged payables, keeping you 

.ind to 
whom Versa Payables- maintains a complete record on each vendor | 

■ ;x>rts. aged payaW' ■■ndor reports, 

and more With VU- ■ you can even let your computer automatically select 

which vouchers are to be paid 



VersaPayroll- 



$99.95 



■lul and sophisticated, bul 
ack ol all government required payroll inform. 
arc m .ire performed automatica . 

totals displayed on n rator approval A payroll can be run totally, automati- 

k Irom being > alter 

lis may be posted to the VersaLedger IT" system 

VERSAlNVENTORY" $99.95 

VERSA t nventory control system that gives you instan: . 

< >i all informal i what 

r backorder. 
you when an m to enter a> i 

directly ort. -prints 

all nee ■ 
ports, period and yeat I reports, price lists, inventory checklists, etc 

■CQMPLITRQNICS; 

50 N. PASCACK ROAD, SPRING VALLEY, NY. 10977 



VersaLedger ir $149.95 

VersaLedger IP" is a con .system that grows as yourbi; 

grows. VERSALEDGER ir can b .imple personal checkbook register, 

expanded to a small business bookkeeping system or developed into a large 
corporate general ledger system without any addition.il software. 

• VERS I" gives you almost unlimited storo 

(300 to 10,000 entries per month, depending on the system), 

• stores all check and general ledger information for* 

• print leeks, 

• handles multiple checkbooks and general ledgers. 

• prints 17 customized accounts k registers, 
balance sheets, income statements. transat account 
listings, etc 

VersaLedger II" comes with a pp .written 160 page manu 

signet: '" manual will help you become 

. familiar with V ■■< If*", using complete sample data files 

supplied on diskette and more than 50 pages of sample printouts. 



SATISFACTION GUARANTEED! 



Kit. VTRSABUSLNE-SS'ir.-:..,'!-. ju,i^i.:i'c t li..i...:u*-::j' dl :■■■■• v -...- s »vw 

anddtafractiunol!heiru<ft:.i:vuo,jrtw'.>als!wcU ■■<*■„ VtKSAFtt MM -•• ■ 

may return it within 30 day* for a refund Manuals lor any VEJtSABUSI.NFSS- module may be 

purchased (or $25 each, credited toward a later purchase of that module. 

A.. CP-M-based Computers must be equipped with Microsoft BASIC 

(MBASIC or BASIC 80) 



To Order: 

Write or call Toll-free (800) 431-2818 
(N.Y.S. residents call 914-425-1535) 



.-9 



* add $3 for shipping in UPS areas 

• add *4 lor COD or non-UPS areas 



DEALER INQUIRIES WELCOME 

A)i price* and specifications subiect to change 



add $5 to CANADA of MEXICO 
add proper postage elsewhere 



Delivery subiect to availability 



.lyCorp AF'l NE trademark Osbor:.. 

NITrl trademark 
JPERBRAIN trademark Int«rr«c Cor ■ mark F.pton Corp 



PULSETRAIfUTJULTLr 



While the effect is physio- 
logically harmless, Blake told 
CWs Katherine Hafner, 
physicians should be aware 
of it in case computer-owning 



patients call, worrying that 
they've suddenly been struck 
color-blind. 

To former typists or 
scriveners, the McCollough 



effect may be a small price to 
pay for the convenience of 
word processing ("There 
aren't really a lot of instances 
where we read white letters 



on black," Blake admitted). 
If you'd rather see straight, 
time away from the CRT and 
keyboard will restore normal 
color perception. ■ 



Uncle Sam 
goes micro 



• News flash: The FEDERAL GOVERNMENT has dis- 
covered that microcomputers are powerful tools, if people 
I — v know how to use them. Halfway 

I QJ through a six-month study designed 

- y to develop policies and plans for 

federal micro use, the General Ser- 
vices Administration told Computer- 
world that employees find micros 



m 



iW[ 



help them make decisions faster and complete their work 
more quickly and accurately. 

"In-depth, hands-on training and ongoing availability of 
technical assistance are essential," the GSA's preliminary 
findings declare. "Also, formal instruction in software selec- 
tion and application are essential in managing the successful 
transition to microcomputer use." 

• Radio Shack, continuing its new policy of COOPER- 
ATION with outside software marketers, has swapped con- 
version rights with CBS Inc. Tandy earns worldwide rights to 
market TRS-80 versions of selected CBS programs, while 
CBS will sell some Radio Shack software for non-Radio 
Shack micros. The agreement marks the first time Tandy has 
allowed its software to be converted to other formats. 

• As reported in October's End Bytes (p. 300), Tano 
Corp. of New Orleans, LA, has brought the DRAGON to 
the U.S., one year after its debut in the U.K. — where it's 
ceased to impress the British magazine Computer Dealer. 
"The Dragon is beginning to look distinctly archaic," writes 
CD's Peter Craig. "Sales figures prove the value of good 
marketing and distribution over a good product." 

Assessing the low-end micro market in Britain, Craig 
comments that Apple's lie "still suffers from having the dec- 
imal point in its price in the wrong place" and that its "spec- 
ification is also beginning to look a bit dated," while "the 
soon-to-be-released Atari models are disappointing evolu- 
tions of the old models." Commodore, Craig concludes, is 
"arrogant in knowing that the 64 is a world beater. The 
machine is so cheap to manufacture and so superior in per- 
formance that Commodore could quite easily zap their com- 
petition from a vast altitude." 

• From distributing printers and disk boxes, LEADING 
EDGE PRODUCTS has moved into the IBM PC market. 
The Canton, MA, firm has followed its much-ballyhooed 
PC word processor with its own MS-DOS micro, an 8088- 
based system said to run 70 percent faster than the PC and 
cost 40 percent less. The 128K machine, assembled by a num- 



ber of overseas contractors, will be the first hardware prod- 
uct marketed under the Leading Edge name. 

• 1983 was the year that computer prices fell through the 
floor; 1984 may be the year that SOFTWARE PRICES fol- 
low. Microsoft Vice-President Jim Spillars told ISO World 
in July, "I think you are going to see products in the $100 to 
$150 range by Christmas that have been selling in the $250 to 
$350 price range." 

By September, Spillars' prediction seemed on target, with 
Commodore cutting some C64 software prices 50 percent. 
Silicon Valley Systems of Belmont, CA, slashed its popular 
Apple word processor, Word Handler, from $199 to $59.95, 
and offered a package of Word Handler and List Handler, 
formerly $298, for $89.95. It's clear that buyers of the new 
sub-$l,000 micros are unwilling to pay $250 apiece for pro- 
grams. 

• Despite extra courses and upgraded facilities, The Wall 
Street Journal reports, America's COLLEGES are falling 
behind the demand for computer classes. Georgia Tech has 
had to impose quotas on computer science majors, and the 
University of Wisconsin at Madison turns away 1,000 
would-be computer science students a semester. Those who 
get in may have to use a terminal located in a hallway outside 
a crowded classroom, with terminal time available only after 
midnight. 

• The Model 100 is only the beginning: The market 
researchers at International Resource Development Inc. see 
PORTABLES as accounting for one-quarter of all personal 
business computers and office workstations by 1987. More 
and more portables will have integrated voice/data functions 
like Convergent Technologies' WorkSlate's, that can answer 
the phone and digitize users' spoken notes as addenda to files 
or programs; by the late 1980s, "pocket consultants" with 
optical-card memory should replace "whole shelves of med- 
ical or law books" for professionals in those fields. 

• The Boston-based analysts of the Yankee Group, 
meanwhile, see TELECOMMUNICATIONS as achieving 
"mass market status in the fourth quarter of 1985." By then, 
a Yankee study predicts, 20 percent of home computers and 
up to 12 percent of video game consoles will have modems, 
and an additional 1.5 million telephones will sport terminal 
capabilities and built-in displays. 

• And, if all those on-line homes grow tired of talking to 
each other, they can turn to The Source and do CROSS- 
WORD PUZZLES. The McLean, VA, data base now offers 
a weekly British-style (cryptic clues) puzzle, created by New 
York attorney J. Baxter Newgate. Besides having "instant 
access to the answers" and being able to challenge or compli- 
ment the author, Source puzzlers will soon have the option 
of choosing different levels of difficulty. ■ 



266 • 80 Micro, December 1983 



Learn to Program Like a Professional! 

THE COMPLETE BOOK OF RANDOM ACCESS 
& DATA FILE PROGRAMMING 





Written for TRS-80™ I. II, & III - IBM -/PC - APPLE™ M/S - OSBORNE™ - HEATH™ - DEC™ - 
SUPERBRAIN™ - and all Computers using CP/M with Microsoft BASIC" 

The last word on disk random access and file handling techniques, this series is intended for everyone — beginning programmers, businessmen 
and professionals will learn how to create custom programs to handle inventories, mailing lists, work scheduling, record keeping, and many other 
tasks, while more experienced programmers will learn advanced, professional programming techniques for faster, more efficient data storage 
and retrieval. 

Although random access file handling is a matter of some complexity, the subject has been treated in a simple and down-to-earth fashion, so that 
anyone with some small familiarity with programming in Microsoft BASIC will be able to cope with the material Each stage of learning uses a 
sample program as a starting point The programs grow in capability and complexity as the books progress into all of the various aspects of file 
handling and record manipulation. An extensive effort has been made to keep the material coherent and every program line is explained in detail 



Volume I 
BASIC FILE HANDLING 

• The writing of a Menu to summarize program functions 

• Screen format for data entry 

• The creation of a basic record 

• The FIELD and LSET routines for buffer preparation 

• Disk storage of random access records 

• Changing or editing stored records 

• The LPRINT capability from disk using three different formats 

• Sorting the random file 

• Searching by name or key field 

• Search in "next" or "prior" fashion 

• Purging deleted records 

• Using disk file data for calculations 

• Future expansion of data fields 

• Using flags to prevent program crashes 

• Date setting, printer on-line and many other routines to make a pro- 
gram run like a commercially written program 

VOLUME I $29.95 

Option Vol. I Program Disk 

TRS-80 Model l/lll $28.50 

TRS-80 Model II $32.50 



Volume II 
ADVANCED FILE HANDLING TECHNIQUES 

Relational database programming 

Comprehensive self-balancing accounting system with printouts 

Hashcoded data file manipulation -- (probably the fastest method of 

data retrieval). Hashing the input key and recovery method explained 

Span-blocking techniques allow creation of records longer than 256 

bytes without wasted space 

Blocking & Deblocking 

Shell-Metzner sort 

In-place screen editing 

Recovery of deleted record space 

Alpha-index record retrieval 

Fast machine language/BASIC sort 

Linked list record structure and sort-merge, deleted record removal 

and file reorganization 

Multi-kev file reorganization and record searching 



VOLUME II $29.95 

Optional Vol. II Program Ditk 

TRS-80 Model l/ll/lll $49.95 



iCQMPLITRQNICS 

50 N. PASCACK ROAD 
SPRING VALLEY. NEW YORK 10977 ^9 



NEW TOLL-FREE 

ORDER LINE 

(OUTSIDE OF N Y STATE) 



c> 



DEALER INQUIRIES WELCOME 



(800) 431-2818 





HOUR U^* 
ORDER LINE 



(914) 425-1535 



30-DAY MONEY BACK GUARANTEE 



•" ALL PRICES h SPECIFICATIONS SUBJECT TO CHANGE "" 
DELIVERY SUBJECT TO AVAILABILITY 

ADD S3 00 FOR SHIPPING IN UPS AREAS 
* ADD * ADD $4 00 FOR C O D OR NON UPS AREAS 

ADD $5 00 TO CANADA & MEXICO 
ADD PROPER POSTAGE OUTSIDE OF U S 
CANADA & MEXICO 



The GAMER'S CAFE 



by Rodney Gambicus 



Notes 

from New 

England 



(Editor's note: With regret and some 
embarrassment, we must report that the 
Gamer's Cafe did not submit a column 
this month. We're not exactly sure why, 
since Rodney and Mad Max were right 
here in New Hampshire under our 
watchful eye. They disappeared myste- 
riously one day without even a good- 
bye, leaving behind only a photo of 
some guy smashing a computer and a 
disk marked "Misc. " That disk con- 
tained, among the clutter of half- 
finished programs and bizarre bits of 
prose signed "T. DeQuincey" (we 
suspect that Max wrote them, owing to 
the many references to the Woodstock 
Nation and Studebakers), a Scripsit file 
entitled "Notes, " which we suspect 
comprised the core of the December 




column. Those scrawls (and it's not 
easy to scrawl in Scripsit) are presented 
here, minus, of course, the many spelling 
errors and coffee stains.) 

Whine, whine, whine! It seems like 
everybody is accusing everybody else of 
cheating on Big Board games. We're 
going to need the Magnificent Seven to 



clean up the mess. "It's no fun reading 
the Big Board mail anymore," says 
Max. 

For starters, Scott Trent challenges 
Jer McLanahan's 261 in Space Warp. 
"If you have ever played that game one 
of the first things you will notice is that 
the highest possible score is 255," he 
claims. "The other thing is that it is very 





The Big Board 


Jungle Boy 


851,900 


Zagros Sadjadi. Petaluma, CA 








Killer Gorilla 


28.312 


Alex Poon, Baton Rouge, LA 


Apple Panic 


287,620 


Mary Phinney, Stockbridge, MI 


Laserball 


72.530 


Neil Matson, Panama City, FL 


Area 


H8.780 


Rob Mitchell, Peterborough, NH 


Laser Defense 


1,504,610 


Greg Samson. Loudonville. NY 


Assault 


97.457 


Zagros Sadjadi, Petaluma. CA 


I. caper 


144,500 


Tommy Seniuk. Vegreville. Alta. 


Astroball 


317.240 


Stefan Kunze, Moers, W. Germany 


Lunar Lander 


15,100 


Brent Lewis, Long Valley, NJ 


Attack Force 


1.732,820 


Dave Smith. Raleigh. NC 


Mad Mines 


10,220 


Gorman Miller, Tilusville, FL 


Bable Tenor 


8,857 


Mad Max 


Martian Patrol 


30,496 


David Schwartz, San Jose, CA 


Barricade 


17.520 


Troy Scrapchansky, Uncasville. CT 


Meteor Mission 2 


119,750 


Bob Brown, Dallas, TX 


Caterpillar 


362.883 


Alvah Werner, New Albany. OH 


Missile Attack 


44.000 


Raimo Hansen, Mesa, AZ 


Centipedes 


94.836 


Belinda Chron, Tempe, AZ 


Monster Invaders 


32.620 


Troy Scrapchansky, Uncasville. CT 


Chicken 


12.035 


Noble Chowchuvech, Demarest, NJ 


Olympic Decathlon 


10.278 


Adrie van Geffen. Rotterdam. Netherlands 


Clash 


174.300 


Zagros Sadjadi, Petaluma, CA 


Outhouse 


1,000,000 


Kyle Hoyt. Tilusville. FL 


Convoy 


34.-7(1 


Rick Sayre. Stockton. CA 


Panik 


85.075 


Mark Owens. Houston, TX 


Cosmic Fighter 


806.280 


Robert Newman, Stoncy Creek, Ont. 


Penetrator 


585.460 


David Schwartz, San Jose, CA 


Crazy Painter 


1.087,000 


Mike Beebe, Sacramento, CA 


Planetoids 


56.450 


Carl Pflanzer, Gillette, NJ 


Cyborg 


317.000 


Robert Cavin. Laredo. TX 


Rear Guard 


195,240 


John Hope, Kingston, Ont. 


Danger in Orbit 


69.640 


Steve Sustacek, Danube, MN 


Robot Attack 


143,250 


Mark Fertig, Northville. Ml 


Defense Command 


128,230 


Bene Dufraine. Bolton, CT 


Sea Dragon 


610,180* 


Robert Fitzwilliam, Houston, TX 


Demise/ Defend 


165.000 


David Russell, Ardrossan. Scotland 


Sky Sweep 


1,000,540 


Tommy Seniuk, Vegreville, Alta. 


Demon Seed 


103.160 


Markus Blum. Ludwigshafen, W. Germany 


Space Castle 


69.750 


Rick Sayre, Stockton, CA 


Desert Peril 


84,400 


Jay McLain, Clatskanie, OR 


Space Intruders 


14,030 


Ron Johnston, Emporia, KS 


Devil's Tower 


25,700 


Rick Sayre, Stockton, CA 


Space Warp (Level 8) 


261 


Jer McLanahan. New Canaan, CT 


Dungeon E scape 


6,531 


Donald Tindall, Littleton. CO 


Stellar Escort 


625,000 


Kevin Josephson, Chilliwack, B.C. 


Hying Saucers 


2,186 


Stuart Lory, Victoria, B.C. 


Super Nova 


2,138,710 


Mark Fertig, Northville, MI 


Fortress 


515.925 


Greg Samson, Loudonville, NY 


Swamp Wars 


59,130 


Farhad Abrishami, Silver Spring, MD 


Frogger 


400,900 


Shawn Roberts, Oklahoma City, OK 


Temple of Apshai 


390 


Carl Pflanzer, Gillette, NJ 


Galactic Empire 


1,850 


David Russell, Ardrossan, Scotland 


Time Runner 


89,479 


Mad Max 


Galaxy Invasion Plus 


1,600,058 


Shawn Lipman, Nelspruit, S. Africa 


Venture 


58,550 


Darren Cotter, Oceanside, CA 


Gauntlet 


58,360 


David Schwartz, San Jose. CA 


Voyager 1 


833 


Farhad Abrishami, Silver Spring, MD 


Ghost Hunter 


41,190 


John Kane, Nelson, N.Z. 


Weerd 


61.180 


Tommy Seniuk, Vegreville, Alta. 


Insect Frenzy 


691,156 


Tommy Seniuk, Vegreville, Aha. 


Wild West 


15,400 


Gorman Miller, Tilusville, FL 


Invaders from Space 


655,360 


Darren Cotter, Oceanside, CA 








Jovian 


148,300 


Greg Samson, Loudonville, NY 


•Expert mode: 339,080 (David Smilh, Kingwood, TX). 



268 • 80 Micro. December 1983 



CQMPIJTRQNICS 



C. 



• • EVERYTHING FOR YOUR TRS^O™ • ATART" • APPLE" • PET" • CP/M T " • XEROX" • IBM™ • OSBORNE' 

• TRS80 is a trademark of the Radio Stuck Division of Tandy Co«p. • * ATARI is a trademark of Atari Inc. ■ 'APPLE is a trademark of Apple Corp. • • PET is a trademark of Commodore 
' CP/M it a trademark of Digital Research 'XEROX is a trademark of Xerox Corp * KM is a trademark of «M Corp * OSBORME is a trademark of Osborne Corp 



BUSINESS PAC 100 




+ 30-Doy money 



100 Ready-To-Run 
Business Programs 



(ON CASSETTE OR DISKETTE) Includes 128 Page Users Manual 

Inventory Control... ..Payroll .Bookkeeping System Stock Calculations. 

Checkbook Maintenance.... Accounts Receivable.. ..Accounts Payable..... 



BUSINESS 100 PROGRAM LIST 



NAME DESCRIPTION 

1 RCJLE78 Interest Apportionment by Rule of the 78* 

2 AMfiCI 1 Annuity computation p rogr a m 

3 DATE Time between dates 

4 DAYYEAR Day of yew a particular dole fait on 

5 LEASBNT iiterest rate on lease 

6 BREAKEVM Breakeven analysis 

7 DEPRSL Straighdrne depreciation 

8 DEPRSY Sum of the digits depreciation 

9 DEPRDB Declining balance depreciation 

tO DEPRDDB Double declining balance depreciation 

1 1 TAXDEP Cash flow vs. depreciation tables 

12 CHECK2 Prints NEBS checks along with daily register 

13 CHECKBK1 Checkbook mainten a nc e program 

14 MORTGAGE/A Mortgage amortiiation table 

15 MULTMOM Computes time needed for money to double, triple. 

16 SALVAGE Determine s salvage value of an investment 

17 RRVAPJM Rate of return on i n ve stm e nt with variable inflows 

18 RRCO NST Rate of return on investment with constant inflows 

19 EFFECT Effective interest rate of a loan 

20 FVAL Future value of an investment (compound interest) 

21 PVAL Present value of a future amount 

22 LOANPAY Amount of payment on a loan 

23 REGWTTH Equal withdrawals from investment to leave over 

24 SiMPDISK Simple discount analysis 

25 DATEVAL Equivalent & rwnequivaient dated values for oWkj. 

26 AWtlDEF Present value of deferred annuities 

27 MARKOP % Markup analysis for Items 

28 SINKFUND Sinking fund amortization program 

29 BONOVAL Value of a bond 

30 DEPLETE Depletion analysis 

31 BLACKSH Black Schoies options analysis 

32 STOCVALl Expected return on stock via discounts dividends 

33 WARVAL Value of a warrant 

34 BON0VAL2 Vak* of a bond 

35 EPSEST Estimate of future earnings per share for company 

36 BETAALPH Computes alpha and beta variables for stock 

37 SHARPE1 Portfolio selection modeli.e. what stocks to hold 

38 OPTWRTTE Option writing computations 

39 RTVAL Value of a right 

40 EXPVAL Expected value analysis 

41 BAYES Bayesian decisions 

42 VALPRIMF Value of perfect information 

43 VALADINF Value of additional Mormatton 

44 OTLITY Oenvw utility function 

45 SIMPLEX Linear programming solution by simplex method 
4b TRAMS Transportation method for linear programming 

47 EOQ Economic order quantity inventory model 

48 QUEUE I Single server queueing (waiting Kne) model 

49 CVP Cost-vdume-proflt analysis 
90 CONDPROF Conditional profit tables 

51 OPTLOSS Opportunity loss tables 

52 FQfJOQ Fixed quantity economic order quantity model 

53 FQEOWSH As above but with shortages permitted 

54 FQEOQPB As above but with quantity price breaks 

55 QUEUECB Cost benefit waiting line analysis 

56 NCFANAL Net cash-flow analysis for simple investment 

57 PROFIND Profitability index of a project 

56 CAP! Cap Asset Pr Model analysis of protect 



59 WACC Weighted average cost of capital 

60 COMPBAL True rate on loan with compensating bal. required 

61 DtSCBAL True rate on discounted ban 

62 MERGANAL M erger an alys is computations 

63 F1NRAT Financial ratios for a firm 

64 NPV Met present value of project 

65 PRUDLAS Laspeyres price index 

66 PRBHDPA Paasche price index 

67 SEASIND Constructs seasonal quantity indices for company 

68 TIMETR Time series analysis Inear trend 

69 T1MEMOV Time series analysis moving a v eia ga trend 

70 FUPRMF Future price estimation with inflation 

71 MALPAC Maiing list system 

72 LETWRT Letter writing system-Inks with MAILPAC 

73 SORT3 Sorts list of names 

74 LABEL 1 Shipping label maker 

75 LABEL2 Name label maker 

76 BUSBUD DOME business bookkeeping system 

77 TIMECLCK Computes weeks total hours from B m ectock info. 

78 ACCTPAY In memory accounts payable system-storage permitted 

79 INVOICE Gener a t e invoice on screen and print on printer 
BO INVENT2 In memory inventory control system 

81 TELDiR Computerized telephone directory 

82 TIMUSAN Time use analysis 

83 ASSIGN Use of assignment algorithm for optimal job assign. 

84 ACCTREC In memory accounts receivable system-storage ok 

85 TERMSPAY Compares 3 methods of repayment of loans 

86 PAYNET Computes gross pay required for given net 

87 SELLPR Computes selling price for given after tax amount 

88 ARBCOMP Arbitrage computations 

89 DEPRSF Sinking fund depreciation 

90 UPSZONE Finds UPS zones from rip code 

91 ENVELOPE Types envelope including return addwi 

92 AUTOEXP Automobile expense analysis 

93 INSFLE Insurance pokey file 

94 PAYROLL2 In memory payroll system 

95 DILAMAL Dilution analysis 

96 LOAMAFFD Loan amount a borrower can afford 

97 RENTPRCH Purchase price for rental property 

98 SALELEAS Saleteaseback analysis 

99 RRCONVBD Investor's rate of return on convertable bond 
100 PORTVAL9 Stock market portfolio storage-valuation program 



D TRS-80 Cassette Version $99.95 

D TRS-80 (Mod-I or III), Pet, Apple 

or Atari Versions $99.95 

D TRS-80 Mod-ll, IBM, Osborne 

and CP/M Versions $149.95 

AOO »3 00 FOR SHIPPING IN UPS AREAS 

ADO MOO FOR C.O.D. OR NON-UPS AREAS 

ADD IS.00 TO CANAOA ANO MEXICO 

ADD PROPER POSTAGE OUTSrOE OF U.S.. CANADA AND MEXICO 

•CQIHRHrKMCS! 







^9 



MATV^sMAT-CAl 



0\G Se»*-flC£ 



50 N. PASCACK ROAD 
SPRING VALLEY, NEW YORK 10977 



HOUR 
O A ORDER 

* H Line 




ASK FOR OUR 64-PAGE CATALOG | 



DEALER INQUIRIES INVITED 



^P\ 9 14) 425-1535 

ALL PRICES * SPECIFICATIONS SUBJECT TO CHANGE 
DELIVERY SUBJECT TO AVAILABILITY 



»» See List ot AttmMsers on Page 291 



80 Micro, December 1983 • 289 



The GAMER'S CAFE 



hard to play Space Warp if you have 
other games." Maybe that's why 261 
has stood for so long. 

Then there's this cranky letter from 
Greg Samson of Loudonville, NY. He 
doesn't trust anybody, including the 
high-score holders for Martian Patrol, 
Cosmic Fighter, and Robot Attack. 
And he openly accuses Venture king 
Darren Cotter's 58,550 of being phony, 
charging that you can't get any more 
than 57,500. That Samson is going to be 
a real popular guy; I hope he can keep 
his kneecaps intact. 

Max says all this cynicism concerning 
high scores is because of the 1968 Dem- 
ocratic Convention. He walks around 
the 80 Micro offices shouting, "The 
whole world is watching! The whole 
world is watching!" 

I was hoping this vacation would do 
him some good, but I don't know. 



***** 



The one-line games keep trickling in. 
Most of them come from Australia, 



where the magazine seems to arrive 
three to five years late. I think I could 
swim there with a copy in my teeth and 
beat- the overseas mail. 



***** 



The van finally broke. We've got it 
down at Roland's Exxon for a tune-up. 
Max wanted to replace the plugs with 
pennies, but I think that only works in 
fuse boxes. 



***** 



I tore Max away from Convoy long 
enough to get his opinion on dropping 
some more scores from the Big Board. 

"PURGE," he grunted. 

"Dig Out (Y/N/Q)," 1 said. "Y." 
"Paddle Pinball (Y/N/Q)." "Y." 
"Scarfman (Y/N/Q)." "Y." 

You have to know how to speak 
Max's language if you want to get 
through to him. 





L 



SHIM rilNTEl 
upper.lower case 4. graphics caoabillty 
bidirectional. 132 character line 
RS232. I 20 cps. ASCII. 7 x 9 dot matrix 
built in self test 

sprocket (eed. IW to I 5" width 
I 10. 300. 1200 bps 

keyboards available (limited quantity) J75 00 
shipping wt 80 lbs 
JSOO.OO I ob our warehouse 



CENTRONICS 101 A 

164 cps ASCII 9x7 dot matrix 

tractor feed (ad|ustable to I 5") 

Centronics parallel 

Interfaces available (call for prices) 
i shipping wt. I 20 lbs. 
1 S225 00 upper case only 
i S350.00 ul case &. graphics 
' all prices fob our warehouse 




CONftAC MONITOI 

I 9 Inch. P4 phos 

■ 80 x 24 characters 

' composite video In (RCA phono) 

i controls In front panel 

1 shipping wt 30 lbs. 

' S4S.00 fob. our warehouse 




$£lfCT#0A//C$ 



I 229 S. Napa St. Philadelphia PA 1 9 1 46 
Phone: (2 1 5) 468-4645«(2 I 5) 468-789 1 



^sr 



SHUGART 8" DISK DRIVE 
SS-DO 

Model 800 2 

requires I I 5 VAC (24VDC ♦ 5VDC - 5VDC) 
$ I 40 00 (new) 

$ 1 00 00 (used) limited useage 
shipping wt I 6 lbs 
all prices f o b our warehouse 



Pa. residents add o°e sales tax All prices 
f.o.b. our warehouse All products carry a 
replacement warranty All merchandise ac 
curate as to decrlptlon to the best of our 
knowledge 



Confessions of an Honest Gamer: 
Jack Martin of Somis, CA, sent in a 
score of 999,970 in Scarfman with the 
comment, "I feel honor bound to men- 
tion that there is a weird mode in Scarf- 
man which enables one to obtain an un- 
limited number of additional men and 
that is the way in which these high 
scores are obtained. Playing with the 
customary number of men, the highest 
score obtainable is probably less than 
400,000." 

Confessions of a Sneaky Kind of 
Guy: James Griffith of Searcy, AR, re- 
ports 910,980 and says, "This score was 
achieved by a secondary methodology 
which I prefer not to disclose yet." 

"Well, nah-nah to you, too," Max 
commented snidely. 



***** 



Today, I found a blueberry on 
Mount Monadnock the size of a volley- 
ball. 



***** 



Max is nuts about Computer Shack's 
Convoy. He particularly likes the sui- 
cidal paratroopers. They run back- 
wards into your truck and then explode. 

"This is almost as good as a George 
Romero movie," he keeps saying. 



***** 



Maybe we should retire Lunar Land- 
er, too. 

"In the [September] Gamer's Cafe 
you stated that the final disgrace will be 
in the cheating of Lunar Lander," 
writes Seth Eliot of Brooklyn, NY. 
Then he proceeds to give instructions on 
refueling: 

On the Model I, exit the game by 
pressing Break and Reset, hit Enter at 
the memory size prompt, type in SYS- 
TEM, and then type in /33767. 

"It seems that this memory location 
refuels you without any damage to the 
game," writes Seth. "Sorry, Max." 

"Not half as sorry as I am," Max 
grunted. 



***** 



"It's obvious to me that you have a 
severe problem with very high scores in 
the Gamer's Cafe," writes Mark 
Schmidt. "Why don't you print the 
scores players get by just using one 
man?" 



270 • 80 Micro, December 1983 



The GAMERS CAFE 



I thought it was an interesting sugges- 
tion, but Max was less than excited. 

"Sure," he said. "Credibility? Veri- 
fication? No problems." 



***** 



Shawn Lipman's father called Peter- 
borough twice in one day to report 
Shawn's Galaxy Invasion Plus score. 
We don't take high scores over the 
phone too often (partly because the van 
doesn't have a phone), but the Lipmans 
live in Nelspruit, South Africa. Wonder 
how long it takes the mail to get there? 



***** 



Max is depressed. First it was the Big 
Board mail. Then Mary Schmidt of 
Stockbridge, MI, wrote, "Tell Mad 
Max to watch out; I'm within a few 
points of knocking him off his Bable 
Terror perch." 

"Oh, yeah?" Max shouted. "Oh, 
yeahr 

Finally, to end the week, we were 



about to post Max's high score in Con- 
voy when Rick Sayre of Stockton, CA, 
blew him out with 34,770. 

"Oh, yeah?" Max mumbled meekly 
as he slumped over the keyboard. 



***** 



The guys at Wally's Hardware in 
Spencer, MA, sure know how to have a 
good time. 

"These people are strange," Max 
marveled as he looked at a photo of 
some fellow smashing a Model III with 
a large hammer. 

"When it comes to serious gaming, 
we employees at Wally's Hardware are 
real hard-core players," said Bob 
Noonan in the accompanying letter. 
"We wring out every point we can get, 
until the computer screams for mercy." 

If they're not playing games, Bob 
and Dave (the goofy stockboy) are re- 
formatting all of Wally's disks or copy- 
ing Galaxy Invasion on top of his ac- 
counts receivable program. 



"Don't tell Wally that Dave cut the 
cord off the plotter to fix Mrs. Archam- 
beault's lamp, 'cause he didn't feel like 
wiring in a new cord cap from stock," 
Bob added, "or that I chopped up his 
IBM/360 Assembly language textbook 
to show a customer how a gasoline- 
powered Weed-Wholloper worked." 

"These people are really strange," 
Max repeated. 

***** 

Max is restless. He wants to hit the 
road again. I've suggested that we go 
down to Boston to visit Mercedes while 
she works on her top-secret project at 
MIT. 

The van is fixed. The guy at Roland's 
called it a miracle. He suggested that we 
change the oil at least once every 50,000 
miles. 

I don't know if I'm going to have 
time to write the December column. 
Oh, well — I'm sure the people at 80 
Micro will figure something out. ■ 




80 Micro, December 1983 • 271 



Aerocomp's 
Proven 
Best-By Test! 
The 



II 




Double Density Controller 

• Technical Superiority 



At last! A double density controller for Model I with higher probability of jata recovery than with any other 
DOUBLE density CONTROLLER ON the market TODAY! The DDC" from Aerocomp. No need to worry about the pro- 
blems that keep cropping up on existing products, aerocomp s new analog design phase lock loop data separator 
has a wider capture window than the digital types currently on the market. This allows high resolution data center- 
ing. The finest resolution available with digital circuitry is 125 ns (nano seconds). The "DDC analog circuit allows in- 
finately variable tuning. Attack and settling times are optimum for 5-1/4 inch diskettes. 
The units presently on the market use a write precompensation circuit that is very "sloppy". Board to board 
tolerance is extremely wide - in the order of + 100 ns. The DDC is accurate to within + 20 ns. 
The bottom line is state of the art reliability! 

• Test Proven 

Tests were conducted on AEROCOMPS "DOC". Percom's Doubler A"* and "Doubler ir* and LNWs "LNDoubler"** using 
a Radio Shack TRS80* * * Model l, Level 2, 48 K with TRS80 Expansion interface and a Percom TFD100 * disk drive 
(Siemens Model 82). Diskette was Memorex 3401. The test diskette chosen was a well used piece of media to deter- 
mine performance under adverse conditions. The various double density adapters were installed sequentially in the 
expansion interface. 

The test consisted of formatting 40 tracks on the diskette and writing a 6DB6 data pattern on ail tracks. The 6DB6 
pattern was chosen because it is recommended as a "worst case' test by manufacturers of drives and diskettes. An 
attempt was then made to read each sector on the disk once - no retrys. Operating system was Newdos/80, version 
1.0, with Double zap, version 2.0. Unreadable sectors were totalled and recorded. The test was run ten times with 
each double density controller and the data averaged. Test results are shown in the table. 



• Features 

TRS80 Model I owners who are ready for reliable double 
density operation will get (1) 80% more storage per 
diskette. (2) single and double density data separation 
with far fewer disk I/O errors, (3) single density com- 
patibility and (4) simple plug-in installation. Compatible 
with all existing double density software. 



• TEST RESULTS * 



SUMMER SPECIAL $99.00 

for the Best DD Controller on the market. 



MFR & PRODUCT 


SECTORS LOCKED OUTiavo 


AEROCOMP "DDC 





PERCOM "DOUBLER II 


18 


PERCOM DOUBLER A" 


250 


LNW "LNDOUBLER" 


202 



Note: test results available upon written request. All tests conducted prior to 8-25-81 



"DDC" and LDOS 
"DDC" and Newdos 80 



*&13Q 95 Aerocomp's 14 day money back guarantee applies to hardware only. 

T" * T^jL Specialswlll be prorated. Shipping $2. 00 in Cont. U.S. See opposite page for details. 

$ | 7Q.95 Add S40 ° "hipping & handling for DDC & DOS. 



Data separators 

The advances that make the "DDC" great are incorporated in the new AEROCOMP Single Density Data Separator ("SDS") 
and Double Density Data Separator (' DDS "). 



• Has your original manufac- 
turer left you holding the bag? 

If you already own a Percom "Doubler A", "Doubler II" or LNW 
"LNDoubler" or Superbrain, the AEROCOMP "DDS" will make it right. 
Look at the test results: 



MFR. & PRODUCT 


SECTORS LOCKED OUT 


WITHOUT DDS 


WITH "DDS" 


PERCOM "DOUBLER II" 


18 


1 


PERCOM DOUBLER A 


250 





LNW "LNDOUBLER" 


202 






• "DDS" $49.95 

(Use 1791 chip from your DO Con- 
troller) 

"A" DDS with disk controller 

chip included $79.95 

• Disk controller 

chip $34.95 

(Shipping $2 00 Cont US - see opposite 
page for details) 



Note: Same test procedures as DDC". 

• Trademark of Percom Data Co. 
•* Trademark of LNW 

* * * Trademark of Tandy Corporation 



Plugs directly Into your existing 
Double Density Controller. 



do you need a 
Single Density Data 
separator? 

The internal data separator in the 
WD1771 chip (R/S Expansion interface) 
is NOT recommended Dy WD for 
reliaoie data transfer. Do you have any 
of these problems Lost data, tracks 
locked out. CRC errors, disk retry? YOU 
NEED ONEI 

• "SDS" $29.95 

(For Mod. I; shipping $2.00) 



See opposite 
page****** 



272 • 80 Micro, December 1983 




^ DISK DRIVES 

40 & 80 TRACK 

SINGLE & DOUBLE SIDED 

$169 




PACESETTERS 

Aerocomp leads the way to the BEST value in 
disk drives on the market Quality, performance, 
reliability, warranty, service plus free trial - 
thaf s what you get from the leader. 
AEROCOMP 

BEST FEATURES 

* Fast 5 ms. track- track access 

* Single or double density 

* Easy entry door 

* "Flippy" feature allows read- write to the 
back of the diskette to cut media cost in 
half (MPI) 

* Disk ejector (MPI) 

* External drive cable connection 

(no need to remove the cover to hook up 
the cable) 

NEW! 



MODEL 
III & 4 

CONTROLLER 

and 

DRIVES 

Convert cassette Model III or 4 to disk Complete 
internal drive kits with 40 track SS drives 
(Tandon), Aerocomp disk controller board (will 
take up to 4 drives), power supply, mounting 
towers, all hardware & cables 

• DRIVE KIT (no drives) $199 

• ONE DRIVE SYSTEM $369 

• TWO DRIVE SYSTEM $539 

Sniping 4 handling $8 00 pet system 

• AEROCOMP DISK CONTROLLER ... $119 

Sttppng & handling S2 00 per conlroflei 

• MOUNTING KIT w/o Drives & Controller , . $99 

Shipping & handling $4 00 per kit 



as low as 



COMPLETE DRIVES 

TRS80 Mod I & III, IBM PC & Tl 99/4 A Power 
supply & enclosure. Specify silver or almond. 
5.25 inch 

• 40 track single side (Tandon) $199 

• 40 track SS "Flippy" (MPI) $239 

• 40 track Dual Head (either) $279 

• 80 track SS (MPI) $299 

• 80 track SS "Flippy" (MPI) $329 

• 80 track Dual Head (Tandon) $379 

Shipping & Handling 15 00 per drive 



BARE DRIVES 

Internal drives for TRS80 Mod. Ill, IBM PC. Tl 
99/4A, 5 25 in (controller required) 

• 40 track Single Side (Tandon) S169 

• 40 track Dual Head (either) S249 

• 80 track SS (MPI) S269 

• 80 track Dual Head (Tandon) S339 

Shipping & handling $4 00 Per Drive 



8 INCH DRIVES 

Drive expansion box complete with power supply 
and faa Tandon Slimline. 

• Two (2) 8" Single Side $699 

• Two (2) 8" Double Side $849 

• 8" Bare Slimline, SS $260 

• 8" Bare Slimline, DS $375 

Shippnq & Handing $5 00 Per Dnve 



MODEL I STARTER PACKAGE 

One 40 track SS drive, 2-drive cable, 
TRSDOS 2.3 disk & manual, freight & 
insurance (Tandon). 



$249 



MISCELLANEOUS GOODIES 

• TRSDOS 2 3 disk & manual $20 

• LD0S(Mod I or III) $119 

• NEWDOS/80, 2.0 (Mod I or III) $129 

• Diskettes (10 in library box) $23 

• 5.25" Drive Power Supply & case . $59 

• 2-Dnve Cable $24 

• 4-Dnve Cable $34 

• Extender Cable $13 

Srupomrj & Handhnu $2 00 



PERSONAL CHECKS 
WELCOME 

We'll be happy to accept your personal check with 
any mail order without any shipping delay 



FREE TRIAL OFFER 

Use your AEROCOMP drive for up to 1 4 days. If you 
are not satisfied for ANY REASON (except misuse 
or improper handling), return in the original shipping 
container for a full purchase price refund. Applies to 
hardware only Sorry, we cannot refund on software 
We have confidence in our products and we know 
you will be satisfied. 

WARRANTY 

We offer a six months warranty on parts and labor 
against defects in materials and workmanship In 
the event service becomes necessary for any 
reason, our service department is fast friendly and 
cooperative. Our goal is 48 hour turnaround on all 
warranty or repair drives! 

100% TESTED 

AEROCOMP disk drives are 100% subjected to 
burn- in and bench test We even enclose a copy of 
the test check list, signed by the test technician, 
with each drive AEROCOMP means reliability! 

ORDER NOW! 

Order by mail or call TOLL FREE TO THE NUMBERS 
BELOW Please note toll free lines will accept orders 
only We accept VISA or MASTERCARD Be sure to 
include card number and expiration date. We will not 
charge your card until the day we ship Order by mail 
with credit card or send check or money order. 
Personal checks welcome No delay Order COD No 
deposit required but all COD's will arrive cash, 
certified check or money order only. We'll send a 
card showing the exact COD amount before your 
shipment arrives Shipping is not included in the 
prices shown Texas residents add 5% sales tax 



CALL TOLL FREE FOR FAST SERVICE 
(800) 824-7888, OPERATOR 24 

FOR VISA/MASTERCHARGE/C.O.D. ORDERS 

CaMoima dial (800) 852 7777 Operator 24 Alaska 
and Howoli dial (800) 824 7919 Operator 24 
TOLL FREE LINES WILL ACCEPT OROERS ONLYI 

Fa information only call (214) 339-8324 
For TECHNICAL ASSISTANCE call (214) 337-4346 



Dealer inquiries invited 



AE3G€Gnp 

Redbird Airport, Bldg. 8 
P.O. Box 24829 
Dallas, TX 75224 "* 



• See List ol Advertisers on Page 291 



80 Micro, December 1983 • 273 




The Christmas Pageant 



by Richard Ramella 



The best Christmas pageant I 
ever saw was in the third 
grade. Icky Vannoy played 
Santa Claus. A serious actor, he 
insisted on filling his pillow case 
sack with real toys. He could 
hardly lift it. 

All he had to do was come 



running out when the kids on 
stage yelled, "Santa is here!" 
Out he ran from stage left, and 
the weight of his sack propelled 
him straight ahead for a quick 
exit off stage right. He kept 
going. 
Icky went home and didn't 



100 REM * YULE GREETING * TRS-80 LEVEL II BASIC 

110 REM * FUN HOUSE * DEC. '83 * RICHARD RAMELLA 

120 CLS 

130 A=RND(1022) 

140 IF A>133 AND A<138 OR A-142 OR A=143 OR A=198 OR A=199 OR A=20 

1 OR A=202 OR A=206 OR A=207 OR A-262 OR A-263 GOTO 130 

150 IF A=266 OR A-267 OR A=270 OR A-271 OR A>273 AND A<284 OR A-32 

6 OR A=327 OR A=331 OR A=332 OR A-334 OR A=335 GOTO 130 

160 IF A=338 OR A»339 OR A=346 OR A=347 OR A=390 OR A=391 OR A>395 

AND A<400 OR A=402 OR A=403 OR A-410 OR A=411 GOTO 130 
170 IF A>413 AND A<424 OR A=466 OR A=467 OR A-474 OR A=475 OR A=47 
8 OR A=479 OR A>529 AND A<540 OR A>541 AND A<548 GOTO 130 
180 IF A-554 OR A=555 OR A=606 OR A-607 OR A-618 OR A=619 OR A>669 

AND A<680 OR A=682 OR A«683 OR A=746 OR A=747 OR A>809 AND A<820 
GOTO 130 

190 PRINT £ A,CHR$(191); 
200 GOTO 130 
210 END 

Yule Greeting— Level II. 



100 REM * YULE GREETING * TRS-80 COLOR BASIC 4K 

110 REM * FUN HOUSE * DEC. '83 * RICHARD RAMELLA 

120 CLS(0) 

123 GOTO 130 

125 PRINT @ A,CHR$(143 + 48) ; 

130 A=RND(510) 

140 IF A=67 OR A=68 OR A-72 OR A-99 OR A=101 OR A=104 OR A=131 

R A=134 OR A=136 OR A>137 AND A<144 GOTO 125 

150 IF A=163 OR A-167 OR A=168 OR A=170 OR A-175 OR A=195 OR A=2 

00 OR A=202 OR A=207 OR A>208 AND A<215 GOTO 125 

160 IF A=234 OR A=239 OR A-241 OR A>265 AND A<272 OR A>272 AND A 

<276 OR A=280 OR A=305 OR A=312 GOTO 125 

170 IF A>336 AND A<343 OR A=344 OR A=376 OR A>407 AND A<414 GOTO 
125 

180 PRINT § A,CHRS{207) > 

190 GOTO 130 

200 END 

Yule Greeting— Color Basic. 



come back to school. Ever. I 
think he moved to another state 
during Christmas vacation. 

But you're not here to listen 
to old third grade stories. You 
want to be in the Fun House 
Christmas Pageant. 

This month I have a secret 
Yule Greeting program and A 
Talk with Santa, each with sep- 
arate Level II and Color 
listings. 

I also have something else. 
Like Santa, I've been getting let- 
ters. Some Fun House visitors 
don't believe I know how to 
program in Extended Color Ba- 
sic. Well, it's not true. I learned 
how last night and I wrote St. 
Nick Portrait to prove it. 

So far, I've tried to make as 
many Fun House programs as 
possible available for as many 
TRS-80 models as possible. 
With the introductions of the 
Model 100 and the Micro Color 



The Key Box 

Model I and III 
Color Computer 
4KRAM 
Level II Basic 
Color Basic 
Extended Basic 



274 • 80 Micro, December 1983 



DISK DRIVE 

ANALYSIS PROGRAM 

. . . A UNIQUE APPROACH TO DISK RELIABILITY! 




Select any one of seven tests to perform 
preventive maintenance or to isolate problems. 
Simple, single-letter commands make DDA easy 
to use! Use DDA to align the head, adjust the 
index hole detector, or adjust the speed. 



Use the DDA Radial Alignment Test to check the 
head alignment of your drives. No need for an 
oscilloscope or other expensive test equipment! 




Check the motor speed of your drives. Or, you 
can even use the Speed Test to adjust the drive 
speed. No need for any test equipment! 



PROTECT YOUR DATA. 

Now you can make sure your data is 
being recorded properly by the use of 
the revolutionary Disk Drive Analysis 
Program (DDA)! 

The Disk Drive Analysis Program from 
J & M Systems, tests your disk's perfor- 
mance and calibration without any 
additional equipment! It measures your 
disk's performance and displays it on 
your screen. / 



Use the Quick Test to quickly and automatically 
test five of the most important performance 
parameters of your drive. Monitor your drives 
for long term drift. Isolate problems quickly and 
automatically! 

microcomputer. You can even adjust drive 
alignment while watching the display! 

Spot problems BEFORE they endanger 
your data! If you own a disk drive, you 
NEED the Disk Drive Analysis Program! 

Noiv Available For The TRS-80 Microcomputer. 
J & M SYSTEMS IS THE DRIVING FORCE! 



vL 



This is the most comprehensive disk diag- 
nostic program available for your TRS-80 



J & M SYSTEMS, LTD ^101 
137 UTAH NE • ALBUQUERQUE, N.M. 87108 505265-1501 



See List 0/ Advertisers on Page 307 



80 Micro, December 1983 • 275 



Have a merry 
computer and a 
happy software. 



SCAU 

1250 00 

399 00 

699.00 

CALL 

-B4 " 



24 85 
22 95 
24 85 
24 85 
24 85 

5 85 
22 85 
56 85 

8 95 
.15.50 



23 50 
.36 50 
.26.50 
. 9 80 



PRINTERS 

STAR ViCRONlCS GEMINI 10 

C iTOM MO 40 CPS P'S 

C' T 0H 8510 PROWRlTEfl PARALLEL 

C-ITOH 1550 PARALLEL 

EPSON . 

IDS 480 MiCROPRlSM. 

BOOKS 

CUSTOM I/O MACHINE LANGUAGE 

HOW TO 00 IT ON THE TRS-80 

MICROSOFT BASIC DECODED 

MICROSOFT BASIC FASTER & BETTER 

THE CUSTOM TRS-80 

THE BASIC COOKBOOK 

TRS DOS 2 3 DECODED 

TRS-80 OISK & MYSTERIES 

30 COMPUTER PROGRAMS FOR THE HOMEOWNER IN BASIC 

101 PROJECTS FOR THE Z80 

DISKETTES 

SCOTCH 3M 

S S D DEN 40 TRK 10 >6 secJO'S 

S D DEN 40 TRK 10. 16 sacttrs 

VERBATIM MD 52501 10. 16 
BIB DiSK CLEANER only 

DISKETTES STORAGE 
iV> " PU 

FLIP ft RU 

TRS CP/M FROM PICKLES & TROUT 

MOD II. 16. 12 COMPATIBLE 
LNW MOO II COMPUTER w/CP/M 2 2 
LNW EXPANSION INTERFACE 
LNW 5/8 OOUBLER w/DOS 3 5 
PERCOM DATA SEPARATOR 

ISOLATORS 

IS0-2 6 SOCKET 

DG 115S6-S0CKET SWITCHED 

TRS HARDWARE 

MODEL 1 1 DISK DRIVE KITS Contain Tandon Disk Owes and Micro Mamtramjs 4 Dnve Controller 
with Power Supply 

KIT 1 2 TAND0N ,M 100-1 ft FD3C 638 00 

KIT 2: 2 TANDON rM 100-2 & FD3C "3 00 

MODEL I. Ill SOFTWARE 

DOS PLUS 3 5 MC J M 'i 

ELECTRIC WEBSTER 

FLOPPY DOCTOR. MOO III 

L DOS Ver 5 1 MOD I or III 

MAXI MANAGER Ver 8 w/UTIUTY 

MAXI MANAGER UTILITIES ONLY 

MICROCLINIC MOO I . 

OMNfTERM. SMARTERM Pkg/MOO I / III 

NEW DOS 80 Ver 2 2 

PROSOFT NEWSCfllPT Rev ? 

«/Maii Labels MOD I A IN. 

THE HOME ACCOUNTANT 

ZORLOf 



.2 50 
19 95 



185 00 
SCALL 
345 00 
181 00 
27 00 



49 95 
.30 50 



99 00 
118.50 
.24 50 

99 00 
•• - 
. 44.95 

24 50 

7995 
122 50 

105 00 

.59.50 
. 63.50 



In Los Angeles: 
(213)706-0333 



aw w w._ By Modem: 
COMPUTER (213)991-1604 

products rc^"° uRMo ?^ N i' 

.„ 1 sab \A/PFKLY SPECIALS . 

31304 VIA COLINAS # ' 4 ' J 
WESTLAKE VILLAGE. CA 91362 



CALL OUR MODEM LINE 
I FOR WEEKLY SPECIALS 

I ' 



StrntKiiM AiurMct - voik swstactiex n assured by our 30 day guarantee on a" nanwraft products «e se* 
No refunds iftit 30 days Ail nanu'aciwf s warrant** ire honored By manufacturers Defective software ww M 
replaced (in during Ihe tlnl XI days However, no refunds or encnanges on sott*are Proot o« purchase requited 
AD return* mar oe authorized in advance 



276 • 80 Micro, December 1983 



MODEL 4 OWNERS 

CONVERT your MODEL l/lll 

PROGRAMS TO RUN ON MODEL 4 



Do you have a lot of time and money invested 
in Model l/lll software, well now you can 
convert Model l/lll BASIC programs to Model 4 
with CONVERTR. 

CONVERTR will eliminate unnecessary spaces 
and insert all required spaces in your BASIC 
programs. CONVERTR will identify lines 
which contain keywords not supported by 
Model 4. CONVERTR will identify lines and 
keywords which the Model 4 handles differently. 
CONVERTR is menu driven and includes an 
option to list your program and error table on 
your printer. 

CONVERTR comes on a disk and includes an 
instruction booklet on How to Convert your 
BASIC programs. 



CHECK - MONEY ORDER 
COD - "v~"' - fifi 

CONVERTR 

1 DRIVE SYSTEM - 89.00 

2 DRIVE SYSTEM - 79.00 



ADEL COMPUTER MART 

DEPT 10 BOX 195 -356 
HARTLY, DE 19953 

PHONE 5 pm-9pmM-F 
9-5 Sat (302)492-8463 






•XV" 






32 E, Main Street, Milan, Michigan 48160 

*SALE THIS MONTH ONLY* 
TRS-80" MODEL IV 100% R/S 
** 1575.00** 



! Radio /hack 

±\, DEALER 

1 

V W I CORDLESS PHONE 
.|^| ^CONTEST * 

W.I (313)439-2474 





WHY BUY FROM COMPUTER EXPRESS? 

5YEARS IN MICRO-MAILORDER BUSINESS 
FULL LINE COMPUTER EQUIPMENT CO. 
100% GUARANTEED QUALITY PRODUCTS 
SPECIALIST IN COMPUTER SET-UP 
TRADE-INS WELCOME 
EXTENDED WARRFNTY PLAN 
SERVICE & SUPPORT 
ALL AROUND NICE FOLKS! 
8 



100 


REM * A TALK WITH SANTA * TRS-80 LEVEL II BASIC 


110 


REM * FUN HOUSE * DEC. '83 * RICHARD RAMELLA 


120 


CLS 


130 


CLEAR 1000 


140 


N-0 


150 


FOR A=l TO 3 


160 


PRINT "R"; 


170 


FOR B=l TO RND(30) 


180 


PRINT "-I"; 


190 


NEXT B 


200 


PRINT "NG" 


210 


FOR T=l TO RND(1000) 


220 


NEXT T 


230 


NEXT A • 


240 


PRINT STRINGS (60,"*") 


250 


PRINT "HELLO... THIS IS THE NORTH POLE: LEON THE ELF HERE..." 


260 


PRINT 


270 


INPUT "TO WHOM DO YOU WISH TO SPEAK" ;A$ 


280 


IF LEFTS (A$, 5 )»" SANTA" GOTO 380 


290 


N«N+1 


300 


IF N-5 GOTO 350 


310 


PRINT A$" IS NOT HERE"} 


320 


IF N>1 THEN PRINT " EITHER." ELSE PRINT "." 


330 


INPUT "ANYONE ELSE YOU MIGHT WANT";A$ 


340 


GOTO 280 


350 


INPUT "THERE'S A GUY NAMED SANTA CLAUS HERE. WANT TO TALK TO H 


IM" 


A$ 


360 


IF LEFT$(A$,1)-"Y" GOTO 380 


370 


PRINT "THEN YOU MUST HAVE A WRONG NUMBER. TOO BAD... IT'S SO N 


EAR 


+STRING$(6," ")+"CHRISTMAS...": END 


380 


CLS 


390 


PRINT "HANG ON. I'LL GO GET HIM." 


400 


GOSUB 810 


410 


CLS 


420 


PRINT £ 480, "HEY SANTA, IT'S FOR YOU." 


430 


GOSUB 810 


440 


CLS 


450 


PRINT "HE WILL BE RIGHT HERE." 


460 


GOSUB 810 


470 


CLS 


480 


GOSUB 810. 


490 


PRINT "HELLO .— HO-HO-HO — THIS IS SANTA CLAUS SPEAKING." 


500 


INPUT "WHO IS CALLING ME";A$ 


510 


CLS 


520 


PRINT "GOOD TO HEAR FROM YOU, "A$". WHERE DO YOU LIVE?" 


530 


INPUT B$ 


540 


CLS 


550 


PRINT "MY MY! CALLING ALL THE WAY FROM "B$"l" 


560 


PRINT 


570 


PRINT A$;", HOW OLD ARE YOU?" 


580 


INPUT Z 


590 


IF Z>12 THEN PRINT "AND YOU... ER. . . STILL BELIEVE IN ME. I'M 


HAPPY TO HEAR THAT." 


600 


PRINT "I SUPPOSE YOU WANT TO TELL ME WHAT YOU WANT FOR CHRISTM 


AS. 




610 


PRINT 


620 


N-l 


630 


INPUT "WHAT WOULD YOU LIKE";CS(N) 


640 


D-RND(5) 


650 


IF D»l PRINT "HMMM... "; ELSE IF D-2 PRINT "I SEE... " ELSE IF 


D« 


i PRINT "SO... "; ELSE IF D-4 PRINT "INTERESTING... "; ELSE PRI 


NT 


•WELL WELL... "; 


660 


PRINT C$(N) 


670 


PRINT 


680 


N-N+l 


690 


IF N<6 THEN PRINT "AND NOW... ": GOTO 630 


700 


CLS 


710 
T." 
720 


PRINT "I MUST GET BACK TO WORK NOW, BUT LET ME RECORD YOUR LIS 


GOSUB 810 


730 


PRINT 


740 


FOR X=l TO N-l 


750 


PRINT C$(X) 


760 


NEXT 


770 


PRINT 


780 


PRINT "SANTA CLAUS CANNOT EVER PROMISE, BUT I WILL SEE WHAT I 


CAN 


DO. GOODBYE TO YOU, "AS?." 


790 


PRINT "AND VERY HAPPY HOLIDAYS I" 


800 


END 


810 


FOR T-l TO 1000 


820 


NEXT T 


830 


RETURN 


840 


END 




A Talk with Santa— Level II. 



Computer (MC-10), I see it's a 
losing battle. 

As 80 Micro phases out cov- 
erage of the Color Computer, I 
must do the same. And as 80 
Micro invites CoCo owners to 
make the switch to sister 
publication HOT CoCo, I'm 
happy to do the same. For 
HOT CoCo I write a column 
called Elmer's Arcade, and its 
arcade games are a mix of Ex- 
tended Color Basic, Color 
Basic, and Micro Color Basic. 

Now let's go to the audito- 
rium for the Christmas 
pageant. 

Yule Greeting 

This greeting has separate 
listings for Level II and Color 
Basic. What is the Yule Greet- 
ing? It's one word, and that's 
all I'm saying. 

The only instructions for this 
program are to type RUN and 
tap the enter key. Then you 
watch. The secret greeting 
forms slowly. 

If you want to trim the tree 
while you wait, you have plenty 
o,f time. If you want to make 
this into a game, a group of 
people can watch. The winner is 
the first to recognize the 
greeting. 

In Level II Basic, the word is 
black on a white background. 
In Color Basic, it's red on a 
white background. 

A Talk with Santa 

Again, I have separate Level 
II and Color Basic listings. 
Look closely at line 100 to make 
sure you're entering the one for 
your computer. 

In both versions, the pro- 
gram starts with a ringing 
telephone. In Color Basic you 



80 Micro, December 1983 • 277 





A Talk with Santa— Color Basic. 






100 


REM * A TALK WITH SANTA * TRS-80 COLOR 


BASIC 


4K 




110 


REM * FUN HOUSE * DEC. '83 * RICHARD RAMELLA 






120 


CLS(0) 








130 


CLEAR 250 








140 


DIM B(22) 








150 


DATA 193,3,193,3,193,6,193,3,193,3,193 


6,193 


,3,204 


3,176,3,1 


85,2,193,10 








160 


FOR A=l TO 22 








170 


READ B(A) 








180 


NEXT A 








190 


N-0 








200 


FOR A«=l TO 3 








210 


FOR B»l TO RND(15)+10 








220 


SOUND 215,1 








230 


NEXT B 








240 


FOR T«l TO RND(1000) 








250 


NEXT T 








260 


NEXT A 








270 


CLS 








280 


PRINT "HELLO, THIS IS THE NORTH POLE. 


LEON 


THE ELF HERE." 


290 


PRINT 








300 


PRINT "TO WHOM DO YOU WISH TO SPEAK?" 








310 


INPUT A$ 








320 


IF A$="SANTA" OR A$»"SANTA CLAUS" THEN 


440 






330 


N«N+1 








340 


IF N-5 GOTO 400 








350 


PRINT A$" IS NOT HERE"; 








360 


IF N>1 THEN PRINT " EITHER." ELSE PRINT "." 






370 


PRINT "ANYONE ELSE YOU MIGHT WANT?" 








380 


INPUT A$ 








390 


GOTO 320 








400 


PRINT "THERE'S A GUY NAMED SANTA CLAUS 


HERE. 


WANT 


ro TALK TO 


HIM?" 








410 


INPUT A$ 








420 


IF LEFT$(A$,1)="Y" GOTO 440 








430 


PRINT "THEN YOU MUST HAVE A WRONG 


NUMBER. TOO 


BAD... IT 


'S 


50 NEAR CHRISTMAS...": END 








440 


CLS 








450 


PRINT "HANG ON. I'LL GO GET HIM." 








460 


GOSUB 920 








470 


CLS 








480 


PRINT 3 480, "HEY SANTA, IT'S FOR Y0U1" 








490 


GOSUB 920 








500 


CLS 








510 


PRINT "HE WILL BE RIGHT HERE." 








520 


GOSUB 920 








530 


FOR A-l TO 21 STEP 2 








540 


SOUND B(A) ,B(A+1) 








550 


NEXT A 








560 


CLS 








570 


GOSUB 920 








580 

■ 


PRINT "HELLO ~ HO-HO-HO — THIS IS 


SANTA 


CLAUS 


SPEAKING. 


590 


INPUT "WHO IS CALLING ME"jA$ 








600 


CLS 








610 


PRINT "GOOD TO HEAR FROM YOU," 








620 


PRINT A$". WHERE DO YOU LIVE?" 








630 


INPUT B$ 








640 


CLS 








650 


PRINT "MY MY1 CALLING ALL THE WAY" 








660 


PRINT "FROM ")B$ 








670 


PRINT . 








680 


PRINT A$", HOW OLD ARE YOU?" 








690 


INPUT' Z 








700 


IF Z>16 THEN PRINT "AND YOU... ER. . . STILL BELIEVE 


IN ME. I 


'M VERY HAPPY TO HEAR THAT." 








710 


PRINT "I SUPPOSE YOU WANT TO TELL ME 


WHAT 


YOU WISH FOR CHR 


ISTMAS." 








720 


PRINT 








730 


N-l 








740 


INPUT "WHAT WOULD YOU LIKE";C$(N) 








750 


D=RND(5) 








760 


IF D-l THEN PRINT "HMMM "; ELSE IF D=2 


THEN 


PRINT 


■I SEE... 


"; ELSE IF D=3 THEN PRINT "SO... "; ELSE IF D-4 


THEN PRINT "INTE 


RESTING... "; ELSE IF D-5 THEN PRINT "WELL 


• • "; 






770 


PRINT C$(N) 








780 


PRINT 








790 


N-N+l 








800 


IF N<6 THEN PRINT "AND NOW... ": GOTO 740 






810 


CLS 






T 


820 


PRINT "I MUST GET BACK TO WORK NOW, BUT LET 


ME RECORD YOUR L 


1ST 


" 








830 


GOSUB 920 






l.LMtnR continued 




hear the ring, but in Level II 
Basic you see the word R-I-I-I- 
ING! a few times. Then an elf 
named Leon answers the phone 
at the North Pole and asks you 
to whom you wish to speak. 

If you don't know who to ask 
for after spending all that 
money on a long-distance call 
to the North Pole at Christmas 
time, I'm afraid this program 
ends. 

If you reach the right North 
Pole personality (S***a C***s), 
you get to tell him your 
Christmas wish list. 

St. Nick Portrait 

This part of the big yule show 
is only for people with Extend- 
ed Color Basic machines. It 
draws a picture of Santa Claus. 
It's a fairly good likeness, al- 
though I can't draw hands. 

And there's more. You see 
Santa drawn on the screen and 
you have a few moments to ad- 
mire his pudgy form. Then a 
green text screen appears that 
asks you to wait a moment. 

Behold, on comes a picture 
of Leon, who had a brief speak- 
ing part in A Talk with Santa. 
In this program he gets a nice 
closeup but has no lines to 
speak. 



278 • 80 Micro, December 1983 

















listing continued 


PT TXT 




840 PRINT 


r* 1 I IXI 




850 FOR X=l TO N-l 


1 1^7 1 ^1 




860 PRINT CS(X) 


ML ^^ JL ▼ 




870 NEXT 






880 PRINT 


^aaa> «bW .^bbbbs. ^a» ^v ^imtL "^m^mm 




890 PRINT "SANTA CANNOT EVER PROMISE, BUT IWILL SEE WHAT I CAN D 


T T^^X Tf Tz* 




0. GOODBYE TO YOU, "A$"." 


1— If 11 1 ^^ r^ 




900 PRINT "AND VERY HAPPY HOLIDAYS I" 


n i II i r^ i , 




910 END 


JL JL^«/ \^ J ts_* *- J 




920 FOR T=l TO 1000 






930 NEXT T 






940 RETURN 
950 END 


If you want to see only Santa 
arid not Leon, put a new line (655 










GOTO 655) into the program. 








100 REM * ST. NICK PORTRAIT * TRS-80 EXTENDED COLOR BASIC 
110 REM * FUN HOUSE * DEC. '83 * RICHARD RAMELLA 


Next month is 1984. I wonder 




120 PCLS 
130 PM0DE1,1 


how many days each of us has 




140 SCREEN 2,1 


been alive. We'll try to figure 




150 CIRCLE(128,96) ,40, ,1.5 
160 CIRCLE (141,155) ,15, ,1.5 


that out an easy way. Next 




170 CIRCLE(116,155) ,15, ,1.5 
180 CIRCLE(160,60) ,30, ,.4 


month's programs will work on 




190 CIRCLE(100,60) ,30, ,.4 


any TRS-80 model. ■ 




200 LINE(110,134)-(135,164) , PRESET 




210 LINE(135,164)-(135,100) .PRESET 






220 LINE{80, 60)-(166, 60) , PRESET 


Do you have a question about a Fun 




230 PAINT(129,96) ,4,4 
240 CIRCLE(129, 60) ,20,3,2 


House program? Write me, Richard 




250 PAINT(128,60) ,1,3 


Ramella, 1493 Mt. View Ave., Chico, 




260 FOR Y=20 TO 48 


CA 95926. You must include a 20-cent 




270 LINE(112,Y)-(146,Y) , PRESET 
280 NEXT Y 


stamped, self-addressed envelope. 




290 CIRCLE(128,35) ,25,3, .8 


From other countries, send a self- 




300 FOR X-112 TO 145 STEP 4 
310 LINE(X, 40)-(X, 60) , PRESET 


addressed envelope and your nation's 




320 NEXT X 


coin equal to postage. 




330 CIRCLE(128,56) ,6,6,.5,.0,.5 
340 LINE(126,40)-(130,46) ,PSET,BF 












350 LINE(110,22)-(150,27) ,PSET 
360 LINE(160,0)-(110,22),PSET 
370 LINE(160,0)-(150,27) ,PSET 










TIME SAVING MONEY SAVING 




380 PAINT(125,20) ,4,4 






PRINTER BUFFER 




390 CIRCLE(122,34) ,6, ,.6, .5,1 










400 FOR X=122 TO 124 
410 PSET(X,36,3) 


















420 PSET(X+11,36,3) 






_~-^^Baaaaaaaaaaaaaaaaaaaaaaaaaaa^__£~ 




430 NEXT X 






|"""~ ^^^^^^Hai ^^^aj 




440 CIRCLE(135,34) ,6, ,.6, .5,1 






laaafl 




450 CIRCLE(72,60) ,8,3 






L«- \ ^P 




460 CIRCLE(188,60) ,8,3 








470 PAINT(74,60) ,5,3 








480 PAINT(188,60) ,5,3 






~~ - — —~^^^^^^ 




490 FOR Y=108 TO 116 

500 CIRCLE(128,Y) ,40 ,3 , .5,1 , . 5 












510 NEXT Y 






SPOOL -Z-Q 




520 FOR Y-lll TO 115. 






Spool-Z-Q j. >epi- . h.ii.i.cer* .it computet -rr<-J and feed* them 




530 CIRCLE(128,Y),38,5,.5,1,.5 






BO vour printer at ir« much slower speed. This elim.tiates the time 




540 NEXT 






yOU waste waiting lor vour printer to lmi»h before you can use 




550 FOR Y=170 TO 190 






v,>ur computer. 




560 CIRCLE(114,Y) ,8,3 






FEATURES 




570 CIRCLE(142,Y) ,8,3 






>;\k>; ■/ i* perfect lor use with ail parallel (Centronics stan- 




580 NEXT 






dard) printers including Radio Shack primers. Spool-Z-Q, H 




590 FOR X=95 TO 112 






stand-alone, it doesn'r ste the .omputet .'i printer. 




600 CIRCLE(X,190) ,7,3 






The manv advanced ftKum Include wnmatK Internal space 




610 CIRCLE(X+48,Y) ,7,3 






, copy and sell-test functions, and a special 




6 20 NEXT X 






"I'juxr 'ti-Formteed" mode. 




630 CIRCLE(163,3) ,4,3 






SIZES AND EXPANSION 




640 FOR T=l TO 5000 






Spool-Z-Q. coma n UK. MK. and I28K characici una Am 




6 50 NEXT T 






Spool / •■>'■' !H " ■»■ aapandad to c-* oi i2sk hv just plugging m 




660 CLS 






chips — the sockets ate ahead) installed There are no jumpers ro 




670 PMODE 4,1 






fool with either. Spool-Z-Q knows rMM much memory IS inst.ilU-J 










without being gold 




6 80 PRINT "WAIT JUST A MOMENT MORE AND YOU WILL SEE ONE OF SANTA 






15 DAY TRIAL PERIOD 




'S ELVES... LEON." 






You may tr>' Spool ZQ with vour mcam and. if sou aren't 




690 LINE(0,96)-(255,19i) ,PSET,BF 






completely satisfied, ret^tn it within 15 davs for a no-hassle full 




700 FOR T=fl TO 1000 






refund 




710 NEXT T 
720 SCREENI, 1 
730 GOTO 730 






FACTORY DIRECT PRICES 
(Shipping included) 
32K - *219 


JVB ELECTRONICS 
1601 Fulton Av«. Suite 1 




7 40 END 






MK - $249 
128K - $309 


Sacramento. CA 96825 
19161 483 0709 

.-121 




St. Nick Portrait. 






Cable to printer - »27 

California resident* include 6% sales tax We accept 








[MasterCard. Visa AMEX and COD. 












- 









* See Usl of Advertisers on Page 291 



80 Micro, December 1983 • 279 



FEEDBACK LOOP 



by Terry Kepner 



Send any questions or problems deal- 
ing wifh any area of TRS-80 microcom- 
puting to Feedback Loop, 80 Micro, 80 
Pine St., Peterborough, NH 03458. 



J' he July 1983 column had three let- 
ters concerning problems with the 
Smith-Corona TP1 and Superscript. I, 
too, have a TP1 printer, as well as a 
DMP-2100. 

I tried the DW2 driver and had the 
same difficulties as the other people. 
Using your ideas, I located the place in 
the DW2 driver program where initiali- 
zation occurs, address BEOF hex- 
adecimal (hex). 

Instead of using an editor/assembler 
to change the code, I used the F func- 
tion (file patch utility) of Debug on my 
Model III disk system. The procedure 
is: Enter Debug at the TRSDOS READY 
prompt, press the F key, enter 
DW2/CTL for the file specification, 
page through the file until line number 
3F00 appears on the screen, press the M 
key, place the cursor over the byte at 
3F03 (19), enter 00 and press the enter 
key, and exit Debug. 

I enjoy 80 Micro very much. I am a 
relative newcomer to computing and 
appreciate the hints and advice in your 
column. 

W. C. 
Tampa, FL 

Thanks for the modification instruc- 
tions and your kind comments. For a 
"relative newcomer" you sound as if 
you're doing pretty well. 

First, I would like to add CP/M to 
my 48K single-disk Model I. Where can 
I get the hardware and software to do 
this, and how hard is it to do? 

Second, I want to add a modem to 
my computer. Since I don't have an 
RS-232 board, where can I get one? Or 
should I buy a modem with a built-in 
RS-232? And could fuse the RS-232 for 
other purposes if I did this? Is there a lo- 
cal CompuServe number in the Cham- 
paign/Urbana, IL area? 
280 • 80 Micro, December 1983 




And finally, what have you heard 
about the new Banana printer from 
Leading Edge Products? At $249.95 it 
sounds like a good buy. 

T.D. 
Mascoutah, IL 

Several dealers sell CP/M upgrades 
for the Model I computer. For a list of 
them, see last month's column. All are 
fairly simple to install. 

If you want a Radio Shack RS-232 
board for your computer, you can still 
buy one from Radio Shack. If your lo- 
cal R/S doesn't have any in stock, you 
can buy one from Rider Radio in Peter- 
borough, NH 03458. The problem with 
the Radio Shack unit is that it tends to 
make poor contact with the expansion 
interface (EI) main circuit board and is 
prone to glitching while in use. Several 
weeks ago mine started having prob- 
lems and ended up getting me thrown 
off the CompuServe network three 
times in IS minutes. The only real solu- 
tion to the poor contact problem is to 
solder the RS-232 to the EI connection 
(not a job for amateurs). 

Getting a combination RS-232/mo- 
dem unit for your computer would 
make it easier to use and would elimi- 
nate most of the contact problems (es- 
pecially if you use Gold-Plug 80s on the 
EI extension port). The disadvantage is 
that the RS-232 ends up being dedicated 
to the purpose, although at least one 
manufacturer gives you an extra edge 
connection for the RS-232. 

Your final choice is to buy an exter- 
nal RS-232 board that plugs into the ex- 
pansion port of the RS-232. This is the 
most common approach used by people 
unwilling to put up with the Radio 
Shack RS-232. 

Both of the last two choices have one 
problem; they don't use the same ad- 
dress ports as the R/S board and this 
causes some difficulties finding soft- 
ware. If you decide to buy an outside 



RS-232 board, check with the manufac- 
turer about which software will or 
won't work with their board. 

I've heard nothing about Leading 
Edge's Banana printer except that it's 
available. The September 80 Micro has 
some information in the New Products 
section (p. 349). 

What jumper changes are required 
when upgrading a Model III or 4 with 
64Ktol28K? 

T.K. 
Julian, CA 

You don't need any jumpers. You 
must replace the DIP (dual inline pack- 
age) shunt in socket U72 with a Pro- 
grammable Logic Array (PLA). The 
ones used by Radio Shack are made by 
Monolithic Memories Inc., and are 
called PALs (a registered trademark). 

The PLA used with the Model 4 
comes with the 128K upgrade kit. I have 
no information on the serial number or 
specifications of Radio Shack's PAL. 



We just purchased a new Model 4, 
and I want to know if anyone has writ- 
ten any drivers to use the 80<olumn 
screen and 4 MHz clock speed with 
Model III programs? I currently have 
DOSPL US 3.5 for the Model III but am 
unaware of any drivers or patches to use 
the Model 4 features. 

Second, I'm going to be writing some 
estimating programs on the Model 4 re- 
quiring continuous calculations and 
comparisons with large indexed numer- 
ic data files. I want to know what lan- 
guages you feel best suit my needs. I'm 
using Basic, but it's time-consuming 
and the file handling is too complex. 

J.R.F. 
Huntington Beach, CA 



No one has as yet written a driver to 
use the Model 4 features in the Model 
III mode, but it won't be long before 
the DOS manufacturers have fixed their 
DOSes to optionally use those features. 



DATAGRAPH 



TRANSFORM YOUR VISICALC" FILES INTO HIGH-RESOLUTION CUSTOM 
GRAPHS ON YOURTRS-80" COMPUTER AND GRAPHICS PRINTER. 



PRINTER 

GRAPHICS 

PROGRAM 



ELECTRON I C WORKSHEET 




NEW! 

MODEL 

11/12/16 
VERSION 



• MICiM RESOLUTION - v. 

data Point i/inch. t LARGE DAT*. 

CAPAr; • 

• ■ per oraph • 

•RAP* E From 1* ig. to 7' 

• S T ANDARD DA'A SOURCE - 
F| f" Data • '-a". VISICALC or 

OWN PROGRAMS jlinq -nr 
PC'" SI.nO.rd Format, t GRAPH 
FEATURS SELECTION - fm out 
Pre- formated r '» or VISICALC 
icritn or in user 

• MINIMA! ENTRY REOUIREHEN 
Enter only na.se o* Datable and 
location therein o< data to be 
pi -j'. ted. • MH.1 ,r i . , vCTION 

GRAPHS - Plots ove- 10 Da'a 
Sets per a'» n. • DA'A SYMBOLS - Plots 

•vabol shapes, t cm»Ta :-.-erpolation - eonne 

composed Una shape., i : InE.-svmbo^ 

Mlth dl<<er»nt 1 int/lvuscl shape -honen 4 

CUSTOM LINES AND SYMBOLS Ma. inttTUtl.l .C'«r-,r„ Mr , „,,„.,, 

CO«po»lt'd symbol Shape.. ■ ALTO SCALING - Selects ir.U 

'etatlon. JB#r adlustable 1«ntim Table. • 
• electable number o< »f"K.: and hori-ontsl 

grid Unas. . calendar scale - Option. 1 j v print* n.wi o< .onth on 

:*1 seal •. I CURVE SELECTION C*i Hi Bcattar, Lina. lurve 

.tap. Bargraphs. Pi a Cnart.. . OPTIONAL HIM "■■• 

-aph Oevond the v.luti a* the Data Se's. • Do 1 



•*• with u.er composed 
■. ..«»* points «: • 
- Plots each n*t > ;.,.t 
» :: line ! tb'». , 



'or 

0R10 SELECTION 



E. tends 

DEICRIF-TIONS rVlnti taut descriptions o* each Data Set graph 
legend. • TE»t entrvs - Print, graph tltl-J. axis labels, ana data on 

graph. * UK* FRI6NDLY - ^»cn validity o< input data and display, 

cause of errors. • COMPLEX DOCUMENTATION - Comprehensive -75 page 

Users Manual with exaaples covering data p'eoa-atior, graph «eature 
entry, composing lines and symbols, and technical nolc. 



COMPUTER 

JOMOOB I iri4*K 

• TRS-ao MODEL II i: It 

• LNWao, 1 NW11 
DOS 

• rRSDOS i J, 2 3 

• NEWDOS, NEWDOS'80 

• DOSPLUS3.4 LDOSS.l 
DISK DRIVES 

• SINGLE DRIVE 

• DUAL DRIVE (PREFERRED) 



MODEL I, 
$79.95 

PIE CHART OPTION: 
$39.95 

MODEL 11/12/16 
$129.95* 

•INCLUDES PIE CHARTS 

USER REQUIREMENTS 



GRAPHICS PRINTER: 

• MX-80 GRAFTRAX, OR GT + 

• MX-100, FX 80/100 

• LP VIII, DMP 200-2100, 120 

• NEC 8023 A-C, C.ITOH 8510 

• IDS 460 560, 480, 80/132 

• OKIDATA 82 83, 92/93, 84 

• GEMINI 10/15 



TO ORDER: Send check, purchase order, or request for COD shipment. Specify Computer 
and Printer Type. Include $2.50 for postage and handling. Calif, residents add 6% tax. 

MICRO SOFTWARE SYSTEMS • MICROPLOT, INC. 

1815 SMOKEWOOD AVE.* FULLERTON, CA 92631 



DEALER 

INQUIRIES 

WELCOME 




TRADEMARKS DATAGKAPH 'MICRO SOFTWARE SYS M 1 rRS-JC TANrn 

I >KPA ARt AR rs INC PRISM .INTEGRAL DATA SYSTEMS. 



(714) 526-8435 

VISA/MASTERCARD [m— * t i O i ri ] 

ACCEPTED I-- V -a. 



FEEDBACK LOOP 



I know it's possible because Holmes En- 
gineering has several DOSes patched to 
use their 80-column board upgrade for 
the Model III. Once the DOSes are 
ready, the Basic programs can easily use 
the features and software will be devel- 
oped that takes advantage of the Model 
4 options in the Model III mode. 

Languages are always a problem. Co- 
bol was designed for business, and is 
used to manipulate large numeric arrays 
as in inventories and data bases, but its 
I/O routines are as weak as Basic's. 
Fortran was designed as a scientific lan- 
guage for extremely fast and accurate 
numeric calculations. Basic was in- 
tended as a good beginner's language, 
with good string handling capabilities 
(Cobol and Fortran's weak points), 
moderate calculation accuracy, and 
easy-to-program I/O routines (which 
become complex as they get larger). 

If you want a fast calculating lan- 
guage and I/O routines that you can 
customize and optimize for speed, I 
suggest you investigate Forth. Forth is a 
bit unusual in that it is totally flexible. 
As a Forth programmer you can define 
new Forth commands to do whatever 
you want done, much like defining a 
new Basic command in Bask. For ex- 
ample, you could define a command to 
clear the screen, load the next record in- 
to memory, and display it on the video 
by assigning a name to the sequence of 
Forth commands that do the same 
action. 

Forth uses a syntax that's radically 
different from all other languages, but 
it's highly efficient. This syntax differ- 
ence is the most difficult part of learn- 
ing Forth. A page of Forth commands 
(defined as one display screen) looks 
like a scrambled-code message. One 
common complaint is that a few days or 
weeks after writing Forth code, not 
even the programmer can figure out ex- 
actly what he did. 

Once you learn Forth, you'll love it 
for its programming ease. If the com- 
mand isn't there, just define your own 
new command. In fact, asking a Forth 
aficionado how to do something (such 
as writing a custom disk I/O routine) 
can be frustrating because he'll usually' 
tell you to just write it. Currently, the 
best Forth available for the TRS-80 
computer is from Miller Microcomput- 
er Services (61 Lake Shore Road, 
Natick, MA 01760, 617-653-6136, 
$129.95). 

282 • 80 Micro, December 1983 



I have a Model I with an LNW Ex- 
pansion Interface and a Teac disk drive. 
On power-up, the disk comes on for 
about three seconds and then shuts off. 
Reset doesn't do anything differently. 
After the drive shuts off, the keyboard 
goes dead and I get no response. 

I checked all the connectors, solder 
joints, proper parts in sockets, etc., and 
everything seems in order. Now what? 

K.T. 
Salem, NH 

I need more information. Does the 
unit work as a 16K Level II machine? 
Does the unit work as a Level II ma- 
chine with the interface attached and 
turned on? Does the interface have 
memory? If it does, can you get it in 
Level II mode (does it power-up as a 
32K or 48K machine)? If there's no 
memory in the interface, are you sure 
your DOS will operate in only 16K? 
Some DOSes require a minimum of 
32K to work right. What DOS are you 
using? Have you called or written the 
LNW trouble desk for help? Is your in- 
terface a kit you built, or did you buy it? 

If you get full memory from the in- 
terface and the computer works fine as 
a Level II machine, something is wrong 
with the disk drive controller circuitry 
or with the disk drive itself. Find some- 
one who has a working Model I disk 
system and use your keyboard on it. If it 
works, your keyboard unit is OK. Have 
your friend use your drive on his sys- 
tem. If it works, the problem is not with 
the drive. If the keyboard unit and the 
disk drive test out OK, the trouble is 
with the interface. 

As you know, the PRINT #-1 instruc- 
tion on the Model III is very slow be- 
cause it always writes the header first. I 
would like to know if there's a buffer I 
can fill before writing to cassette. I 
know the Color Computer PRINT #-1 
works like that. 

I also want to upgrade my system to 
32K. I bought one 41 16 chip and insert- 
ed it in my computer as you described in 
your column. It didn 't work; I still get 
15314 as the memory available. Does 
the computer read blocks of 16K, or is 
the chip bad? 

I need a good memory map of my 
computer, can you recommend a good 
book? 

J.P. 
Berchem, Belgium 



The design of the cassette I/O rou- 
tines of the Model III and Color Com- 
puters are totally different. The only 
way you'll get the Model III to buffer 
cassette I/O in the manner of the Color 
Computer is to write your own ma- 
chine-language cassette routines. 

You upgrade the memory of all the 
microcomputers made by Radio Shack 
(except their pocket computers) in 
blocks of 16K. The computers address 
each chip in the 8-chip block as 16K by 1 
bit. Installing only one chip activates 
only 1 bit of the 8-bit words in the 16K 
block. To upgrade, you must use all 
eight chips. 

Soft Sector Marketing sells the book 
Model ni ROM Disassembled, which 
includes a memory map of the machine. 

/ read D.J. 's question concerning the 
installation of new characters in the 
Model I character generator (August 
1983, p. 316). Enclosed with this letter is 
some literature on a character generator 
ROM that I manufacture. Note that be- 
sides having true lowercase descenders, 
you can also program the ROM to con- 
tain a second character set custom 
designed by the user. 

T.W. 
Bainbridge Is., WA 

Now that's an interesting develop- 
ment. According to the literature, the 
EC-1 is a pin-for-pin replacement ROM 
for the MC M6670 used by the Model I 
as a character generator. In addition to 
replacing the TRS-80 character set with 
one containing true descenders, the 
EC-1 has room for a complete alternate 
character set. The characters are 5 by 8 
matrices, so you can custom design any 
character you want. 

If you want to use the alternate char- 
acter set and the normal set, you can in- 
stall a toggle switch to let you pick the 
one you want. Or you can fix the ROM 
to use only one of the two sets available. 
The EC-1 is also inexpensive, retailing 
at $11. If you want a custom character 
set, the EC-1 costs $19. 

Of course, to use the upper-/lower- 
case generator, you'll have to have 
modified the video RAM so that it dis- 
plays the additional characters. You can 
do this easily by soldering a 2102 RAM 
on top of the video RAM chip, as ex- 
plained in the April 1981 issue of 80 
Micro. 

Address your questions to: Electronic 



CREATE A FUNCTIONAL COMBINATION 




'efortheTR' 
tern. 



Models I andJII run- 



All of the above products are also avj 
ning under the LOOS 5.1 Operating 



Ttt? _± 



* TRSDOS " and JTRS-80" are Trademarks of Tandy Cori LDOS, LS-FED II, 
LS-FM, LS-T8A, LS-HELP are all pibducts and trademarks of LSI. 
(The authors ol TRSDOS' 6.x) \ 




LOGICAL SYSTEMS. INC. 8970 N. 55TH ST. MILWAUKEE, Wl 53223 \ (41 4) 355-5454 



StatPac 



TM 



Statistical Analysis Package 

The NEW update is now available 
and is supported by the Authors! 

Improved features include: 

• 5-30 times faster 

• multiple printing options 

• better analyses printouts 

PJ^ S A11 the benefits StatPac has 
become famous for! 

StatPac (similar to mainframe SPSS") is 
the one complete data manager and 
statistical analysis package you'll ever need. 

Walonick Associates 

5624 Girard Ave. So. (612) 866-9022 

Minneapolis, MN 55419 



Formerly marketed as "Maxi-Stat" 



"SPSS is a trademark 
of SPSS. Inc 



mODEL lOO 

magnificent 7 
Program Package 



Bank F inane* 

o Six Functions-It will keep your interest 
Calendar 

a It s Forever 
Sliding Numbers 

a I or 2 Players-Graphics A Sound 
Bio-Rhythm 

□ Graphic Sine Waves 
Vegas Slots 

n Even the arm moves-Graphics & Sound 
Vagal Blackjack 

□ Dealer's hole card face up or down-Graphics 
& Sound 

7. Vagal 5 card Draw Poker 

o The most popular machine in Vegas-Graphics 
4 Sound 
FEATURING: 

a Professional Quality 
o Rapid Response 

□ Minimum Use of Memory Space 

□ Eye-Popping Graphics with syncronited sound 
effects 

c Audio cassette instructions for each program 

MINIMUM HARDWARE REQUIREMENTS 

- 8 K Modal 100 w/caitatta recorder 

ENTIRE COLLECTION ONLY 

$£krf Regular Price 

$19.95 Special 



WSC 



• S2 00 Shipping ft Handling U S ' 

♦ $5 00 Shipping ft Handling-Foreign 
Indiana Residents add 5% Sales Tan 

COMPLETE COMPUTER SERVICES 

8188 HEATHER DRIVE 

NEWBURGH. IN. 47630 

(812)853-5140 



*s 150 



You Can Set Type LiKe This! 

Win HUT Itfm 10 



Distinctive Type 
Boreo 1 wItIh tUe euAliry of youR Dot 
Matr.x Printer? PrInt witIh Dot WrIter. 
14 STyUs supplied, over KX) avaIIaBIe. 

Creation 

AIter our Utters, or create youR own 

Letters or qRAphics. 

Type SAtvipLes 

IlOfflBHRDia Pwrtopian 



WWHI 



Master. VISA, check. M0CQD. $2 S/H on charts, IS on COD. 
No purchase order* TRS80 Hod 13,4 - 48K and eininuB 1 
drive it required. Specify Printer when ordering. Thit ad 
was typeset with Dot inter and printed on a CJtoh 

ft ~*»- Rem computeRs. 221 hmschf leLft &r. Buffalo, ny 14221 

1(716)634-3026 

*24hr. Order Phone - Tech. Questions Noon to 2pi EST Hon. Tue. Wed. Fri. 



Past & Easy 

Dot Writer is a software pAckAqs For 

TRS-80 1. 5, or 4 (!n 5 Mode). Use most 

populAR EfilTORS TO CREATE TEXT - TeSTEo! 
W.tIh MOST populAR DOSs. 

Features 

Over 60 Format commancJs! 

Printers / Prices 
We support the following printers: Epson, CJtoh, 
PMC. Radio Shack DMP series and Okidata. Write for 
full info or see your local dealer. 

I Dot Writer 3.0 
s 3.0 without Utility 
I Font Disk Catalog 



$99.95 

$79.95 

$3.00 



^273 



284 • 80 Micro, December 1983 



FEEDBACK LOOP 



Closet, 8187 Blakely Ct. West, Bain- 
bridge Is., W A 98110. 

I rem the MEMTEST program that 
came with TRSDOS on my computer. 
The checksums for the A and B ROMs 
were OK, but the ROM C checksum 
was different from the ones listed for it. 
My Model III ROM C has a checksum 
of 2F84. Is there a reason for concern 
about the difference? My computer has 
worked flawlessly since I bought it. 

L.L. 
Bronx, NY 

Worry not, the latest ROM C has the 
checksum you have. It's just that the 
program is an older version and doesn't 
have all the correct checksums for the 
ROM C versions available. Happy 
computing. 

I'm confused about the sound 
routines for the Model III computer. 
I would like some information about 
the way people work with them. I've 
tried to put their routines on the end of 
my programs and all I get is a Cass? 
prompt. 

I tried to modify the Memory Size?, 
PEEK, and POKE. I also tried four dif- 
ferent kinds of sound routines; they all 
work as long as the routine is by itself. 
Does it have anything to do with POKE 
16526,n and POKE 16527, n? 

T.R. W. 
Southern Pines, NC 

There are several things that could be 
wrong. First, where are these sound 
routines going in memory? If they're lo- 
cated at a particular place in memory, 
moving them around will make them 
malfunction. If the routines reside at 
the top of memory, only one can be 
there at a time without fouling up the 
others. 

If a given routine is located at the top 
of memory, you have to use the Memo- 
ry Size? prompt to protect the routine 
from being stepped on by Basic when it 
tries to run your program. You also 
have to tell Basic that there is a ma- 
chine-language routine located at the 
top of memory, and that you want to 
use the routine. This is done with the 
two POKEs you mention. These place 
the address of your sound routine in a 
location reserved by Basic for the USR 
function, which passes control from a 



Basic program to a machine-language 
program and back. 

So, if you want to use the sound rou- 
tines in your programs, you first have to 
determine where the routines are lo- 
cated. If more than one routine is lo- 
cated there, you have to make sure that 
the routines don't overlap, or you'll 
ruin one or all of them. Similarly, cas- 
sette-based systems support only one 
USR function at a time, so if you have 
several routines, you'll have to develop 
a method to switch between the routines 
when you call the USR routine (perhaps 
use a GOSUB, before the USR com- 
mand, to jump to lines that POKE the 
starting address of the particular rou- 
tine you want into the USR address lo- 
cation). 

Start with a routine that you know 
works; modify the program to do what 
you want. If it no longer works, you'll 
have to contact the author for more in- 
formation on what the routine does and 
how to modify it. If it does work, start 
on the next routine. 

/ have a 48K Model I with three disk 
drives and a Model 33 teletype for a 
printer. I have also acquired another 
Model I, which is a 16K Level I comput- 
er. I intend to upgrade it to Level II, and 
have it as a spare CPU for the first com- 
puter. 

Can I hook up the two units so that I 
can control the main unit with the 
spare? I'd like to have the spare key- 
board and monitor upstairs in the liv- 
ingroom so I can write code, letters, or 
whatever. I'd also like to be able to load 
programs into the main unit, alter 
them, and then save the results on disk. 
I have an interface that lets me turn the 
printer on and off without commands. 

As I see it, the new keyboard will con- 
trol the old computer, printer, and 
drives, and the hew monitor will report 
what's happening. I have no need for 
the paths to be reversed. 

J.C. 
Wayne, NJ 

In other words, you want to be able 
to make the older computer a slave to 
the new one. 

The only method I know of for such 
an application requires the use of RS- 
232 boards. You load a host terminal 
program that treats all RS-232 incoming 
data as if it were typed on the 



computer's keyboard. All video display 
is simultaneously echoed out the 
RS-232. The other computer would 
have a terminal program loaded in 
memory that simply sends every key- 
stroke to the RS-232 and takes incom- 
ing data and places it on the video dis- 
play. Nothing is stored or kept in the 
remote computer's memory, except the 
program itself. 

This method works the way you 
want. The disadvantage to this system is 
that you'd have to load the terminal 
program into the remote machine by 
cassette tape, and load the host pro- 
gram from disk. Every time you wanted 
to use the entire system, you'd have to 
make sure the host computer has the 
host program in memory and runs cor- 
rectly before loading and using the re- 
mote computer. 

If you wanted to get fancy, you could 
buy BBS software for your disk comput- 
er and leave the computer permanently 
turned on. Whenever you wanted to use 
the system, just call it up with the remote 
program (go on-line with the RS-232 ter- 
minal program) and start using your 
computer. Or leave the BBS on drive 
zero with Auto engaged to load and ex- 
ecute the BBS program. Then you 
would just have to turn the computer on 
when you want to use it. 

The disadvantage to this system is that 
you have to buy the additional hardware 
for the two RS-232 boards, and run an 
RS-232 cable between the two machines 
(maximum length without an in- 
termediate amplifier is about 25 feet). 
For your remote computer, you would 
have to buy a non-Tandy RS-232 board 
that lets you attach directly to the 
keyboard unit without an expansion in- 
terface. The disk-based computer would 
likewise require a non-Tandy board (if 
you want reliable operation for long 
periods of time). 

/ have a strange problem that I hope 
you can help me with. I have a 48K, du- 
al-disk Model I computer that random- 
ly reboots when in Disk Basic. The com- 
puter works fine in DOS, Level II Basic, 
and when running machine-language 
programs. I have cleaned all the connec- 
tors and resoldered everything that 
looked flakey. I'm using NEWDOS80, 
but I'm sure that isn't the problem. 

G.S. 
Danbury, CT 

80 Micro, December 1983 • 285 



FEEDBACK LOOP 



You didn't mention the age of your 
computer. If you have one of the older 
expansion interfaces, you may need to 
have it modified for increased reliabili- 
ty. The first step is to use the buffered 
cable; the El-to-CPU cable has a black 
box in the middle of it. This helps stabi- 
lize the data line and makes it more re- 
sistant to electrical noise. If the problem 
persists, you have to direct- wire the 
RAS, CAS, and MUX lines inside the 
keyboard and EI units, from the origi- 
nation points to the edgecard connec- 
tions. 

If you still have problems, you have 
to make the pregnant cable (MUX) 
modification. The three previously 
mentioned bus lines are cut from the 
EI-CPU cable and placed in a separate, 
twisted wire pairs, DIN cable. This ca- 
ble has a male and female six-pin DIN 
connector in the middle to let you un- 
plug the CPU unit from the EI unit 
(hence the bulging, pregnant look to the 
cable). 

These modifications are required on 
most old model expansion interfaces, 
which were poorly designed. If you al- 
ready have these modifications, remove 
the two power supplies from the EI 
case; the fluctuations of the magnetic 
fields induce interference with your EI 
RAM chips. If you're still having prob- 
lems, check the FDC chip for poor con- 
nection to the circuit board. 



/ would like to learn Assembly lan- 
guage, but all I know is that it's faster 
than Basic. I have the book Inside Level 
II, but I don't understand it. Please tell 
me the best way I can learn about 
Model I Level II Assembly language, 
without having to spend lots of money. 

T.K.K. 
Chico, CA 



First, the Model I computer is a Z80 
CPU-based computer, so any book 
teaching the theory of Z80 program- 
ming will help you. However, I suggest 
that you get either TRS-80 Assembly- 
Language Programming (Radio Shack 
#62-2006, $3.95) by William Barden, or 
TRS-80 Assembly Language (Prentice- 
Hall, Englewood Cliffs, Nj 07632, 
$9.95) by Hubert S. Howe Jr. Both 
books deal specifically with the Model 
I. Howe's book is easier to understand, 
while Barden's book gives instructions 
286 • 80 Micro, December 1983 



on using Radio Shack's T-Bug and Edi- 
tor/Assembler. 



A year ago, I purchased a Microtek 
Bytewriter-1 and their interface board 
for my Model! Everything worked fine 
until I added the chips for 48K opera- 
tion. Level II recognizes the full 48K 
when first powered up, but after a vari- 
able time the computer reboots to the 
Memory Size? prompt, or some other 
apparently random spot. 

I thought the problem was interfer- 
ence until I discovered that responding 
to Memory Size? with 32767 or less pre- 
vents the problem while still allowing 
machine code to run in high RAM. 
What's up? 

K.H. 
Livermore, CA 



Basic stores program variables, ar- 
rays, and program operation tables 
starting at the top of RAM and working 
down. You use the top 2 bytes constant- 
ly. Since the dividing address between 
the keyboard unit and the expansion 
memory is 32767, your difficulty is with 
the high 32K RAM bank. 

First, make sure that the connection 
between the keyboard unit and the ex- 
pansion box is clean and solid (use iso- 
propyl alcohol and cotton swabs to 
clean off the dirt, and a pink rubber 
eraser to remove any tarnish off of the 
cable contact; the connectors should fit 
tightly). 

If the problem persists, try swapping 
the top 16K bank with the memory in 
the keyboard. Next, check to see if the 
R/S black box power supplies are too 
close to the memory or the intercon- 
necting cable. And finally, is the RAM 
and printer circuitry being driven by the 
keyboard's power supply? If so, the in- 
terconnecting cable could be interfering 
with itself, although that's not too like- 
ly. What's more likely, if the expansion 
unit uses the keyboard power supply, is 
that the added memory is overtaxing the 
power supply and causing your trouble. 
In this case you'll have to get a separate 
power supply for the expansion box. 

If the problem still doesn't go away, 
contact the manufacturer of your ex- 
pansion box and ask for help. 



/ have a 48K, three-drive Model I 
with the Radio Shack doubter installed. 



My problem is with TRSDOS 2.7DD. 
When attempting to copy from single- 
density to double-density, TRSDOS 
2. 7DD won 't read anything above track 
35 on the single-density disk. 

It appears that this problem could be 
corrected by a very simple patch, but 
Fort Worth won 't say when or if the 
patch will be available, nor will they re- 
lease the file specification, password, 
sector location, or any other data on 
how to access TRSDOS 2. 7DD. 

Do you know of a patch for this 
problem, or must I start looking for a 
new double-density DOS? 

R.K. 
Clovis, NM 



You'd better start looking, because I 
don't have that patch in my bag of 
tricks. Can anyone else help? 



My 48K, single-disk Model I has sev- 
eral problems: spontaneous disk re- 
boots, inability to reboot a disk using 
the keyboard reset button, DOS mes- 
sage CANNOT BOOT or something 
similar while the disk spins in the drive, 
and occasional screwy behavior while 
using VisiCalc (i.e., the left arrow key 
moves the cursor down one line). 

Just recently I had to replace the key- 
board-CPU cable to get the computer to 
function as a 16K computer. 

I can feel a slight wiggling of the con- 
nector at the EI— perhaps the original 
Radio Shack plug is getting old (I tried 
replacing the keyboard-CPU cable, but 
got no improvement). Right now, I 
haven 't had a reboot since I started this 
letter. Apparently if I get the cable con- 
nectors just right, proper contact is 
made and no rebooting occurs. 

I'm thinking of soldering the EI and 
CPU together with a 40-conductor car 
ble, but feel I might regret it later on. 
Now what should I do? 

S.D. 
East Lyme, CT 

Things are never simple. First, the 
keyboafd-CPU cable is a vary weak 
point in the system. When you get 
strange results after typing on the key- 
board, this cable connection is almost 
always the problem. This cable can also 
cause spontaneous system reboots, and 
prevent proper disk-booting action. 



Now. 



FOR THE TRS-80' MODEL I & III 



JOSHUA'S 



1 !' I 'l-, '' r-- 

'/ 'ill'-' I . ' -J 

•' ,7 ,'l " '-. " — I ' L — 

L.tJULi LlL.-il 




£ntc» mlo Ine cnailengmg m<;e battle lev dotTtmaiioo ot g 
CO<r»plet« j wmmng row o' conquests Bewa'e irOur opponent may rfr^ip 
uncorquered *eas Based on "*« age cmo game o* Tie Tac Tot wi'n some 
conpiei and mtnq boggling, dittefences A" macnme code *o* n«gf» speed 
aciKKi and enjoyment Play a friend O* male" wll against tne ewnpu'*' 
Joystick compatible Qpf»onai sound with audio ampiiiie* 




DISK M9.95 
TAPE s 15.95 

16 K LEVEL II 



^Tt/wrJurm., 



'CORPORATION 

P O SOX 12S4 WILLOW GROVE. PA 1«0M 
Se-»d $»9»^ to- e*t* M a«3 ftSM 'or earn tap* CM 
PA residents add 6% taies U> inctwdelJ 00 pe'.lem to- 
ping and handing Fq> fast d*u*e'v send card numpei 
on*» o"i*fs Oec*s itqmra one to two « 



' ; 



• - 1 - 



Specify Model I 



I d-S* 



suotect I 






• ' •;•. - ... ..*• 




SPKE-SMKK® ...TW SOLUTION 

Protects, organizes, controls computers & 
sensitive electronic equipment. Helps prevent 
software "glitches", unexplained memory loss, 
and equipment damage. Filter models attenuate 
conducted RF interference. 1 20V, 1 5 Amps. 
Other models available. Ask for free literature. 



MLUXE POWIt CONSOLE 

$79.9$ 

Transient absorber, dual 5 -stag* 
filter 8 individually switched 
sockets fused, main switch. & lite 




QUAD-II $59.95 

Transient absorber Dual 3 stage 
filter 4 sockets, lite 

QUAD! $49.95 

Tromiwit obsorber , 4 sockets 

minim $44.95 

Transient absorber, 3 stooe filter, 
2 sockets 

MINI I $34.95 

Tronsiant absorber, 2 sockets 

215-1370700 

Out of Stole Order Toll free 
100-523-9*15 
DEALER INQUIRIES INVITED • COOt odd S3 00 + Shis. 



-485 



mom 

MMfMkM Oopt.80 

Bethlehem PA 18017 



15K MEMBERS AND GROWING 




U 



itn f A <*■ ■■* 'H 1 S W' 'V 1 'j? Mi' v? w" "^ >f W y« i# V' J* 1 *•* *• ** k * 1 ' "»' "^ 

_, ^: ,yl -if. lyf rfl J> •■/> <A .V U" '• If 'J* >" L* -M ^ ■•"' •■* >/■ *• i* ■*>'# f- 
j y V f «A "V W ■* '* * "* ,u '" * "* k- ' "* *** "* "* ^ *f «« 'l^ \>^ 

U« ll» l^ 1 "^ -*' ^ ^ tfc1 "^ ^ X ^ k-' '»< ■* ^ ^ K l-l Vflt Urt »ti «n 

*! Z «« up w in. iki iK ^ W loi t* W 'X 1*1 IX .v unuif v« ^ .^i n« «« *tr mr 
i .7 k. .nl W «/' rfl .* .IT i* * '•• '^ ,vt ,u< ,ul '* "* t" -^ "^ '" «H *i lif 

''" ^ ^ wyf Ml ^ ^ ^ *" ^ ^ V ^ * ** M r ' '^ "" ** * '* ^ '* ^ 
'^ "^ !1 IH IM ivrt IW l>< '" % W ^' «' ,K1 "" ,M1 ^ ,M1 '^ ''* "^ "^ -" ^ '^ 

'"' "■ "i" T- «« .* «* « - - - - ■" - * * " " r 

IJM IUC l^ "»\ lW "^ ^ lirt y,( .« V 

„, w u«< 'VK »«" ^ '« l! ^ ,,k< „ .^ u« ^ ii" -" " 

V Lr lW .-( •« .* h* irf '«« 'W • 

■m^ " ^ ,„, - «., ski ^:*'- 

Ijm x:. >* "^ •*" ' „. lK , ,^ w-* 1X1 '« 'W '-" ** ^ ,-v/ 
nrfiin IXC ■"< ^ " ^ v ^ ^ UrriMturtiJTO 




^-•^^^ CHAi 



» 



-»>^r 



American Software Club has been selling software for the APPLE, ATARI, IBM, 
TRS-80 and CP/M Computers (DEC, Eagle, Vector 4, Northstar, Xerox 820, Super- 
brain, Heath/Zenith, NEC, Tefevideo, Altos, Columbia, Osborne, Sanyo) since 1981 
Computerists don't just/b/n A'SC— they stay with us. 

Chalk it up to. . . 

Having 600 products in stock and our "lowest price" guarantee. 

Chalk it up to. . . 

Our free bi-monthly Compendium magazine which gives comprehensive product 

descriptions, club news, and services. 

Chalk ft up to. . . 

Our toll free technical support and order lines. ASC doesn't just sell software— 

we support it!' 

Chalk It up to. . . 

Speedy shipping. Because we know waiting can be frustrating, ASC has been 

shipping more than 60% of orders in under 6 hours. 

But don't just take our word for it. Join now, and take advantage of our free one year 
membership offer. With absolutely no purchase obligation, you have nothing to lose 
and everything to gain. 

Wondering if there are strings attached? The only one is in the cartoon 



For a One-Year Trial Membership with no fee or obliga-j 
tion, fill out the coupon or call our Toll Free Number: 

1-800-431-2061 

(CT Residents call 203-431-4966) •* 54C 



ASC 



America^ Software Club, Inc. 

80 Topstone Road, Ridgef ield, CT 06877 

Please begin my free one-year trial membership as outlined above. 



Name 



Address. 



City/State/Zip 

Outside the US: Please enclose $15.00 (US) for a one year membership 



My computer is: 
D APPLE 
C ATARI 
~ IBM PC 

□ TRS-80 

(Mods 1,2, 3, 4) 
ZCP/M(8"or5V4") 



.- Aw List of Advertisers on Page 291 



80 Micro, December 1983 • 287 



FEEDBACK LOOP 



Check h carefully for lifted traces on the 
edgecard, cold solder joints, or inter- 
mittent solder bridges. 

Next, check the power connectors 
where your power supplies attach to the 
circuit boards; they may be loose and 
causing reboots. Also, check and clean 
the contacts on the FDC chip in the EI 
(that's right, clean the FDC chip pins). 

The disk booting problem has several 
possible sources: The edgecard connec- 
tion to the disk drives may need clean- 
ing, the disk drive logic card's edge con- 
nector may need cleaning, the head may 
need a slight realignment and cleaning, 
or the motor speed may need adjusting. 

Start with the easiest: clean the edge- 
card connectors," then use a disk drive 
cleaner for the head (or alcohol and 
long cotton swabs). 

The reset button sounds as if it's bro- 
ken. As a Level II machine, does Reset 
work? It may also be suffering from 
cold solder joints, lifted traces, and oth- 
er mechanical problems. Let me know if 
you're successful in correcting the 
problem. 

/ have a problem with my Model I 
speed-up kit. My system comprises; 
tyodel I (board M700069D, Satellite 
ROMs, 16K RAM from Exatron, Cer- 
dat's The Patch, Programma 80-Grafix 
board, and Exatron Speedup Kit); Ra- 
dio Shack Expansion Interface (board 
H17OO077D, 32K RAM from Exatron, 
Percom Doubler II); Aerocomp's 
80-track disk drive (MPI 91); Exatron 
Stringy Floppy; Epson MX-80 printer; 
and DBLDOSfrom Percom. 

I bought the keyboard in 1978 as a 
Level I machine. When Level II was re- 
leased, I ordered it the next day. The 
same goes for the expansion interface, 
which works fine without a buffered ca- 
ble or other reliability modifications. 

Everything worked fine until I in- 
creased memory to 32K (the speed-up 
kit supports 50 and 100 percent speed 
increases, both of which function fine in 
a 16K system). When I try to use the sys- 
tem with 48K, the 50 percent mode 
works for everything except machine- 
language programs; the 100 percent 
mode locks up everything. 

Is there a way to have the expansion 
interface support the high speed opera- 
tion? Exatron suggested replacing the 
CPU with a Z80A, and said I might 
have slow memory. I removed the 
memory from the expansion interface 
and tried it in the keyboard. Everything 
288 • 80 Micro, December 1983 



worked fine, so slow memory can't be 
the problem. 

I borrowed a copy of Tandy's Dy- 
namic Memory Test program from a 
friend and ran it at normal speed with 
no problems. At the 50 percent speed 
increase, everything checked out until 
the 16K/32K boundary, when the sys- 
tem crashed. The 100 percent speed in- 
crease immediately locked up the com- 
puter. 

P.L. 
Lawrence, KS 

Yes, you can make the expansion in- 
terface operate at high speed. You have 
several points where problems could 
foul up your high-speed modification. 
First is the memory. The expansion in- 
terface is much more critical of timing 
constraints than the keyboard unit. Re- 
member, the expansion interface is far- 
ther away from the CPU than the key- 
board RAM. 

Electrons in metal move at about 
3 x 10 10 centimeters per second. There 
are 1 x 10 9 nanoseconds (ns) in a sec- 
ond. So in one nanosecond, the elec- 
trons move about 30 centimeters (al- 
most 12 inches). This may not seem like 
much, but if you're using RAM rated at 
250 ns (time required to respond to a 
signal from the address bus and put the 
addressed byte's data on the bus) in the 
EI, the added distance may be just 
enough to cause problems. 

In other words, RAM that performs 
flawlessly in the keyboard can fail in the 
expansion interface. You can see the 
same problem occur at normal speed by 
using 400 ns memory in the EI instead 
of the standard Radio Shack 300 ns 
memory. 

Furthermore, at 3.54 MHz, each 
clock pulse defines a 282 ns window. If 
you slow down the signal too much by 
the address-decoding integrated circuits 
(ICs) and support chips, the RAM 
won't get the information on the data 
bus until it's too late. 

The best solution is to use the fastest 
memory possible; 150 ns is great, 100 ns 
is the best (but very hard to find, and ex- 
pensive). That lakes care of memory. 

Remember that the Model I was an 
experiment, designed for the tinkerer. It 
wasn't designed for clock speeds of over 
1.77 MHz. This means that the digital 
components weren't designed for faster 
speeds either. That is, the units can't re- 
spond to the orders from the CPU fast 
enough to deliver or process the re- 



quired information within the amount 
of time allocated by the clock frequen- 
cy. Result: system lockups. 

Some of the components are capable 
of operating at 5 MHz, but many begin 
to fall behind the CPU at that speed. 
Even some Z80 CPUs can't operate at 
the higher speed and have to be re- 
placed. And for the EI, the greater dis- 
tance to the EI, plus the additional 
memory-decoding ICs, can make the 
difference between high speed opera- 
tion or a locked up computer. 

Also, you say you don't have any of 
the EI reliability modifications. Well, 
Radio Shack didn't come up with those 
modifications for the fun of it. They 
were developed as a solution to the 
common complaint of Model I owners 
about EI memory problems. The reason 
you've never had to make the modifica- 
tions is that you didn't have the memory 
in the EI to cause the problems. A1J the 
modifications were made to correct 
memory problems. If I were you, I 
would seriously consider having those 
modifications made. 

If you want better explanations about 
speed-up problems, and instructions on 
what you can do to correct them, call 
Holmes Engineering. ■ 

Terry Kepner is a freelance writer and 
programmer, and the vice president of 
Interpro. He's been writing about mi- 
crocomputers since 1979. 



Frequently Needed Numbers 

Radio Sjiack, National Parts Divi- 
sion, 900 East Northside Drive, 
Fort Worth, TX 76102, 817-870- 
5662, M/C and Visa accepted, each 
order has $1.50 handling charge. 

IJG Inc., 1260 West Foothill Blvd., 
Upland, CA 91786, 714-946-5805. 
Publisher gf TRS-80 Disk and 
Other Mysteries ($22.95), Micro- 
soft Basic' Decoded and Other 
Mysteries ($29.95}, The Custom 
TRS-80 • and Other Mysteries 
($29.95), Bapc Faster and Better 
($29.95), Machine-language Disk 
I/O and Other Mysteries ($29.95), 
TRSDOS 2.3 Decoded and Other 
Mysteries (Model I) ($29.95), How 
to do it on the TRS-80 ($29.95), and 
the Electric Pencil Word Processor 
($89.95). 




See List ol Attmtimn on Page 291 



&— our otrwr ada on pgs. 1 27, 203 



80 Micro, December 1983 • 289 



THE SECRETS OF PERFECT MEMORY: 
ONE AND ONE HALF EARTH DOLLARS 



AT LAST: THE WHOLE 
TRUTH ABOUT FLOPPIES. 

Amazing book, reveals 
all! 

How to keep from 
brainwashing your disk 
so it never loses its 
memory. 

How fingerprints can 
actually damage disks. 
Unretouched Kirlian 
photographs of UFO's 
(Unidentified Floppy 
Objects)! The incredible 
importance of making 
copies-, the Department 
of Redundancy Depart- 
ment- and what goes on 
when it goes on! Power- 
ful secret methods that 
scientists claim can ac- 
tually prevent computer 
amnesia! All this, and 
much more . . . 

In short, it's an 80- 
page plain-English, 
graphically stunning, 
pocket-sized definitive 
guide to the care and 
feeding of flexible disks. 
For The Book, ask your 
nearest computer store 
that sells Elephant" 
disks, and bring along 
one and one half earth 
dollars. 

For the name of the 
store, ask us. 
ELEPHANT MEMORY 
SYSTEMS Marketed 
exclusively by Leading 
Edge Products, Inc., 
I n/ormation Systems 
and Supplies Division, 
55 Providence Highway, 
Norwood, MA 02062. Call 
toll free 1-800-343-8413, 
in Massachusetts, call 
collect (617) 769-8150, 
Telex 951-624. 



V 

v 

| VJ 
V 

M 
1*1 

01 

!*; 



See us at 

Fall 



November 28-December 2. 1983 



Raada* Sarvtca Nurnbar 



Pag* 



RfidwStntc* Number 



Pag* 



213 I 

48 A 1 Computer Pscar 
572 A-'Te 



ISO. 151 
276 



n Aerooornplnc.. 

480 i 

136 »nen tl elrjai Software 

140 A»»id Syatama Company . 
470 Alpha M CcmrsjnrceHcne 
473 Alpha Byte Computer Prods 
17 Alpha Products Co. 



272.273 

257 

161 

313 

220 

m 

13.16,17 



SM ALPS t« 

69 Alternate Source t73 

217 American Small Business 

Computers 231.206 

540 Amartcan Software Ctub 267 

400 AnaryHcalPioc Cera. 136 

560 Anchor Automation Inc. 304 

172 An*aaaan-sBac.Raaaaroh 317 

141 An** Software Products 28 

40 Apparatksc 171 

380 Applied M fc r c eietemi inc. 61 

572 AitMcWlntaa^ancaTacrnolaalaa 
514 AaMandCompuavSyMatna 





Corp. 

Bottom Una. Trw 

Buahmduatrtaamc. 

Byte General kit. The 

Cases inc. 

C.0.C 

C.O.C 

C.D.P. 

Owi Ta nr x i g e Sy s t ems Aaeo c la t ee . 
CfcaoM 



.312 
.98 




154 BganSyMama H8 

644 Etceoft 72 

166 BacboracSpeciartres 310 

46 EStJrVr 225 

561 ETSCantai 288 

267 Eaoaaonb: 306 

464 Farlr«sel B| Slaiiit Sof t wa r e 213 

461 FcnnanHaaj f i 225 

214 Fort Wor«l Computara 18B 

586 FutumProJactCom. 317 

370 O asiawtei 8u W— ■ 312 

87* Ctary Woods* Software 286 

IS* OooBAtcMon Data P> l l — a 307 

961 OradoDSyatamalnc. 286,307 

6 HSEComputronlca 7,285,287,268 

287 HAK. Workshop 313 

6*0 Harris Mtcnxornputani SB 

365 HOP. 238 

163 HotmaaEnolnaartngkic. 33.236 

562 Holmee Engineering Ire. 300,310 

5*1 HuuatuiikwIiunisUi 30* 

176 H o— B o n — m 133 

88 Image Taohnoloov mc 313 

983 ImpaccAaaoctalaa 310 

560 Mocsmlrc. 300 

352 k»*ana Software 223 

571 mmec 318 

377 IrnoaaMa Data Tactnotaov 30i 

t*Hl— iDnlpr 286 

470 I 

240 

391 

437 JtAAaaoctataa 31* 

177 JlJBactrentcaUSofl 288 

101 JtMSaatpiM f» 

136 JMQSothJaaoMT 71 

121 JVSBscsiomOi 27* 

SM Jawacu Cauliunli a SIS 

4*7 Jeffrey S o ft esse 88 

621 MdlrstasMaa of America 73 

486 KlgloB aarolc Company Mc 387 

331 RSOFT JOB 

354 KuBalComputarSorhaara 236 

303 

41.7* 

472 Laa<*ngEdga Product* nc. 280 

198 LaokPtftaaMngCamc. 210 

• UtalrVPioduotalnc. 321 

138 UndbarofiSyalarrai 77 

586 Uttta, Brown.* Co. 302 

31 LHW Humeri Corp. CtV 

536 LjtoDrtsealntl 126 

330 topical Daw oaa Inc. 1*6 

237 logtoalSyalamalne. 3S3 

381 UiekalSyalamakB. 43 

386 Logh an 

119 l^m Computer Santos 101.266 

627 Magknaa 34 

Ml Mewjim Software 307 

513 IllCf muBuiaillJ 321 

310 

13* 

3*8 MESC 117 

132 kaenaotnc S17 

3*1 

■ Systems IS* 

676 aacroCwaiBHiafna 308 

*. 10,11 

, IIS 

iSiata— tr so 

838 

, 380 

3*1 

» *l lia n a So f tware tnr. CB 

3*8 

137 

203 

464 IBnotabakic. 178 

SS7 Mkiul*H.*» SB 

47 Microcomputer BuilniMSyetame 128,201 

41* Mt CJ Ohat C h 147 

94 MOIVIaaWC Pl a OQf*ytVll*nQ CtfP- *#• 

380 Microtech Export! Inc 280 

574 Microtia Syatama Corp. 330 

137 Malar Microcomputer Servtcee 167 

• laioeya SB 

98 Modular Software Aesoc. 47 

411 Montezuma Micro SB 

416 MoMsiums Micro 3*5 

23 MtOympue Software 388 

' MenrordMtao Syatama *6 

933 Mat" Computer Forma 241 

ITS 

20.303 

303 

541 NarawmTacPnotosyCorp. 172 

30 CweeeoftPaaearch 330 

188 On I Well Computara W1 mc 321 

206 O u a uM oSOwc 137 

88* OpOanaSOInc 3*1 

161 ttt o nlna tr umarr u 217 

307 Pscsftc Exchanges 225,286.313 

547 PASCO ITS 

IB Pan M—H aii Dai» Milt a 307 

870 PlMBUlPli Corp. 310 

SB Pwa Si ea w SB 

SM PeeTes B 



127 

124 Parry Computers 
508 PnoneUne.Ttsi 
M0 
170 




So Bi ota ta Computer Syatama 203 

B Sortwareol the Month Club IB 

B Software Exchange 2B 

327 Software Support 56, B 

2B BoMkmlnc. SB 

42 South Bay Software 313 

B Spiral Cr aa r p rt aaa 1S4 

606 StarMttronrcemc 61 

43 Star Software B 

3B Strobe mr. S3 

71 SuOLogtc C o rmrjre ca tl o iW Corp. 301 

203 
316 




226 <»«■■ AFmk 
337 tfrMeoft 
7* VPaorJanHan 



IB XVZT rnm patai DSmerlona Inc 
IB York 10C 



For furthtr Information from our avdvortloort, ptMM um trw Roador Sorvtco card. 



80 Micro, December 1983 • 291 



RELOAD SD 



by Amee Eisenberg 



With every turn of its drives, your 
computer's floppy disk controller 
(FDC) is on the lookout for errors. The 
Cyclic Redundancy Check (CRQ safe- 
guards the accuracy of your data by 
performing a quick calculation on a full 
sector of data. The CRC byte, the ex- 
pected solution to the CRC calculation, 
is just one kind of information encoded 
on your disk by the disk drive. 

To help you better understand how 
this works, I'll explain disk drive and 
disk technology. Demystifying the disk 
operating system's cosmos may make 
your computing life a little happier. 

The Disk Drive 

A disk drive does three things: it spins 
a disk, positions a read/write mecha- 
nism, and communicates with the flop- 
py disk controller (FDQ chip. When 
these processes happen correctly, your 
computer reads from or writes to your 
disk. It's something we take for granted 
until an error message appears on the 
screen. 

Your stomach turns, you pound the 
reset button praying that it isn't so, and 
you begin to wonder just what HIT the 
table or where that sector could have 
gone. The real question is just what is 
the drive doing wrong? 

Spinning the disk is technology with 
which everyone who owns a record 
player is familiar — a motor turns a plat- 
ter on which you place a disk. Your disk 
drive spins at 300 rotations per minute 
(rpm), a speed that could make The 
Beatles sound like mosquitos. Just as a 
speed variation on your turntable 
makes your records sound bad, a speed 
variation on your drive means bad disk 
input/output (I/O). 

While most manuals suggest that a 
speed deviation of plus or minus 5 per- 
cent is permissible, I get nervous at any- 
thing greater than plus or minus 1 .5 per- 
cent. By the time you've got a 5 percent 
deviation, you'll also notice plenty of 
disk I/O problems. Many programs are 
available that measure the drive's spin 
speed. Owning one is vital for diagnos- 
tic purposes, although actually adjust- 
ing the speed requires the derring-do to 
try open heart surgery on your comput- 
er (thus voiding your warranty) and in- 
finite patience. I suggest you let a pro- 
fessional do it. 

A stepper motor (stepper motors 
move discrete distances one step at a 
292 • 80 Micro, December 1983 



The 

heartbreak of 

CRC errors 



time) positions the read/write head. Lo- 
cating and relocating the tracks on your 
disk depends on the accuracy with 
which the stepper motor moves the 
read/write head. Like the tone arm on 
your turntable, the stepper motor can 
position the read/ write head to 'play' 
any track; unlike a record player, the 
read/ write head, as the name implies, 
also records data onto the disk. 

If your disk I/O problems are un- 
predictable, that is they come and go, 
watch for a pattern. Does the computer 
read and write fine when you turn it on 
but become undependable after it's 
been working awhile? Suspect your 
head alignment. A head that's margin- 
ally aligned may read fine when you 
first turn on the computer, but as the 
machine heats up, the alignment shifts. 
Again, the easiest solution is taking it to 
a professional. 

Information exists on a disk in the 
form of magnetic pulses. The head 
reads more magnetically positive bits as 
logical ones, the less positive bits as logi- 
cal zeros. The read/write head picks up 



TRSDOS Model I 

5 sectors = 1 gran 

2 grans = 1 track 
10 sectors = 1 track 

TRSDOS Model III 

3 sectors = 1 gran 

6 grans = 1 track 
18 sectors = 1 track 

DOSPLUS Model III 
6 sectors = 1 gran 
3 grans = 1 track 
18 sectors = 1 track 

LDOS Model III 
6 sectors = 1 gran 
3 grans = 1 track 
18 sectors = 1 track 

Table. Some examples of different track alloca- 
tions. 



these bits in a series, that is, one after 
another. The Z80 microprocessor at the 
heart of your TRS-80 computer reads 
information 8 bits at a time, a method 
known as parallel. One of the FDC's 
jobs is collecting the serial input and 
sending it to the Z80 in parallel. 

The FDC navigates the disk by first 
using the index hole and then using 
markers written on the disk by the disk 
operating system (DOS). The FDC 
looks for two kinds of markers, sector 
headers and clock bits. Both are written 
when you format a disk. 

The Disk 

When you look at a disk, a few things 
are apparent. First, a floppy disk is 
made of two parts, one sandwiched in- 
side the other. The inside is a shiny, 
metal-oxide-coated, circular piece of 
mylar plastic (the disk) that slides freely 
inside the square piece of plastic (the 
shell) that envelops it. Six asymetrical 
holes are cut into the disk's shell. 

The large hole in the center gives the 
disk drive a place to grab the disk. To 
spin the disk in its shell, stick two 
ringers through the center hole, spread 
them to apply pressure to the inside rim 
of the disk, and turn. Do not touch the 
disk's surface! A small hole in the disk 
will appear in the round window to the 
right of the center hole. This is the index 
hole, which the FDC uses as the ab- 
solute landmark of its location on the 
disk. 

The two small half circles punched in 
the bottom of the disk are alignment 
notches. They help insure that the disk 
is set securely in the drive. The square 
notch cut into the side of the disk is the 
write-protect notch. If this notch is filled 
in (by taping a lable over it), the FDC 
will not let the read/write head write on 
that disk. To get your computer to write 
on a write-protected disk, remove the 
label. 

The oval window cut at the bottom of 
the disk's shell is the place where your 
drive reads the disk. When you see how 
small this head access window is, you 
appreciate how finely tuned the disk 
drive is. It adjusts the read/write head 
to find between 35-40 (and on some 
drives 80) separate positions (tracks) in 
an area less than 1 Vi inches long! 

The disks you're familiar with are 
soft-sectored, which means that the 




l^M 



2095.00 



Merry Christmas 

Incredible Savings on Complete Systems! 

2095.00 





Model 4 128K 2 Disks & RS-232 
Gemini 10X Printer & Cable 
Hayes Smartmodem 300 & Cable 
Visacalc Spreadsheet 
Scripit Word Processor 
Versatile Data Base 
Smartcom Modem Software 
TRSDOS 6.0 Operating System 




Model 4 64K 2 Disks 8c RS-232 
Okidata ML-82A Printer & Cable. 
Hayes Smartmodem 300 & Cable 
Visacalc Spreadsheet 
Scripit Word Processor 
Versatile Data Base 
Smartcom Modem Software 
TRSDOS 6.0 Operating System 

Professional Software for your Model I, III, or 4. 

Visacalc Spreadsheet — 1 00% machine language with lull screen 
cursor control. Make Projections, Reports, Graphs, and more! 
Scripit Word Processor — 100% machine language full screen text 
editor. Insert, Delete, Justify, Center, Underline, and more! 

LutUlty 1.0 — Complete LDOS filter system. 100% machine lang. 
Includes: Host, IDC, and RTFD (Rational Text File Display). 



Computers 

Model 4 64K 2 Disks 1499.00 

Model 4 128K 2 Disks 1579.00 

Eagle II 64K 2 Disks 1695.00 

Eagle IV 64K 10 meg. 2995.00 




Printers 

Okidata ML-92 469.00 

Okidata ML-82A 389.00 

Gemini 10X 319.00 

Gemini 15 429.00 




FREE SOFTWARE FREE SOFTWARE 

With any purchase that totals over $1000.00, you may select any 
two programs from this advertisement for free! If you would 
like to have a free Defendoids game program, simply call our 
order line and say 'Merry Christmas'. We will send it to you 
for FREE! All you pay for is the shipping and handling. 



Softronics 

Computer Systems 



918-749-6211 



!* 



* 



I 

er. 



eu 



i 



Include 3% shipping. SI 00 minimum. OB residents > 
8* tax. Call toe pdm on other products Moot 
and ara liability lubjoct to change. Open 10 a.m. to 
n. to li a 



• p.m. IBS available 4 p.m. 



a.m. 9 1 •-749-6524. 



is 



RELOAD BO 



space on their surfaces is partitioned by 
the DOS software, rather than through 
a "hard," or permanent, manufac- 
turing process. Because the sectors 
aren't created in the manufacturing 
process, DOS designers can divide the 
disk space arbitrarily. 

The DOS 

The smallest unit of information a 
DOS reads or writes is called a sector. 
Sectors are clumped together as gran- 
ules or grans, and grans are gathered 
into tracks. Different DOSes use dif- 
ferent patterns of space allocation; 
some divide a track into two grans with 
10 sectors per gran, another uses three 
grans of six sectors per track. This is 
why some DOSes can't read disks writ- 
ten by other DOSes. (See the Table for 
some examples of common DOS alloca- 
tions.) 

Information contained in a sector is 
of two types, the information you write 
(data) and the information the DOS 
writes (sector header). System informa- 
tion includes an identifying address 
mark (a sort of flag saying "Here's 
some location information"), the track 
number, the sector number, the sector 
length, and the CRC bytes. Combined, 
this information creates a heading for 
your data that lets the computer retrieve 
it when you need it. 

In addition to these sector headers, 
the DOS writes another kind of marker 
on the disk. Called clock bits because 
they're written by the FDC's 1 MHz 



clock, they create spaces between them 
that hold data. They are, in a sense, the 
carton; your pieces of data are the eggs. 

Using the index hole on the disk, the 
FDC finds the beginning of a track. 
Using the clock bits, the FDC locates 
the spaces where the data resides. When 
it reads an I.D. address mark (the num- 
ber FE hexadecimal coming after a 
gap), the FDC knows it has found a sec- 
tor. Reading the sector header tells it 
what track and sector it has found. A 
lot of space on your disk is taken up just 
defining and identifying the space you 
wish to use. 

Every time it reads a sector, the FDC 
comes across 2 bytes of information 
that are directly related to the accuracy 
of its last write. These are the CRC 
bytes. Their value, as mentioned earlier, 
is determined by a calculation per- 
formed on the value of all the other sec- 
tor bytes. When the FDC reads a sector, 
it performs this calculation on the data 
it has just read. 

If the value matches the value of the 
CRC byte on the disk, all's well. If the 
values don't match, the computer prints 
an error message on the screen and 
quits. Depending on the software con- 
trolling the disk I/O, the error message 
says either "CRC error" or "parity er- 
ror." Either way, it's bad news. 

Utilities are available that might 
straighten out a problem disk: Debug 
on TRSDOS, SuperZap on NEW- 
DOS80, and Super Utility Plus, to name 
a few. But honestly, the best medicine 



Article 

Side A 

Channds of Communication 
Chameleon Code 
Assembly- Language Disk I/O 
Real World Control— Part II 
Real World Control— Part II 
Real World Control— Part II 

SideB 

Real World Control— Part II 
Real World Control— Part II 
Real World Control— Part II 
Real World Control— Part II 
Real World Control— Part II 

tSource code not available on cassette. 

•EOT ASM is a trademark of Radio Shack 





Cassette 


Dtak 




Pag* 


Fie Spec 


Fie Spec 


Comments 




A 


TITLE/BAS 


Basic 


140 


B 


SATCOM/BAS 


Basic 


170 


C 


CONVERT/BAS 


Basic 


88 


DISKIO/CMD 


DISKIO/CMD 


System 


152 


t 


CMDTBL/SRC 


EDTASM 


152 


t 


ALARM/SRC 


EDTASM 


152 


t 


CLOCK/SRC 


EDTASM 


152 


CMDTBL/CMD 


CMDTBL/CMD 


System 


152 


SPRINK/CMD 


SPRINK/CMD 


System 


152 


ALARM/CMD 


ALARM/CMD 


System 


132 


CLOCK/CMD 


CLOCK/CMD 


System 


152 


t 


SPR1NK/SRC 


EDTASM 



December 1983 Load 80 directory 



for any disk problem is preventive. 

Preventive Medicine for Your Disks 

Make a back-up copy of every impor- 
tant disk! At 80 Micro, we use only 
third-generation copies of our DOSes. 
The original sat in the disk drive long 
enough to make a copy of itself, our 
working master. The working master 
comes out of its envelope only to create 
a back-up, the copy we actually use. 
This policy sounds neurotic — until 
somebody does one of those ten thou- 
sand things that trash disks. But, when 
that happens, we don't get stuck sitting 
around waiting for the manufacturer to 
replace our disk. 

The same holds true for data disks; 
unless you love typing, keep up-to-date 
back-ups on your data files. It takes 
time, but ten minutes a week now may 
save you hours trying to reconstruct a 
blown disk later. 

The rule to remember is, if it doesn't 
have a back-up, it will develop an error. 
Back up your disks! 

The second great preventive measure 
is to keep your drives well maintained. 
Invest in a diagnostic disk and test your 
drives once a month. If the disk speed 
varies more than 5 rpm in either direc- 
tion (faster or slower), get it fixed 
before it causes problems. 

Buy a disk drive cleaning kit and use 
it. Dirt on your read/write head acts 
like sandpaper on your disk, an un- 
desirable condition. 

Finally, a reminder of stuff you al- 
ready know. Open and close your disk 
drive's door gently. If you slam it 
around day in and day out, it will break. 
Since the door is part of the mechanism 
that holds your disk in place, a loose or 
crooked door will result in disk I/O er- 
rors. In a worst-case scenario, a door 
off its hinges renders the drive in- 
operable. 

Store your disks in their envelopes, 
away from dust and magnets. Remem- 
ber, the telephone and the speaker in 
your cassette recorder have magnets. 
Keep your disks away from them. The 
top of your video display screen is also a 
bad place for disks. It generates enough 
radio frequency interference to garble 
your disks. 

Your disk drive, disks, and DOS 
work together in a complex system 
designed to guard against errors, but, as 
with any sophisticated technology, it 
requires care on your part to keep it 
working. ■ 



294 • 80 Micro, December 1983 



TRS-80 MODEL 16 

XENIX 

•CONSULTING 

•SYSTEM CONFIGURATION 

•INSTRUCTION 



INTERACTIVE 

SYSTEMS DESIGN 

SUITE 201, 170 BROADWAY 
NEW YORK, N.Y. 10038 
(212V233-6923 „ M 



TEACHERS! 

smifw mu snm 

Tht complete griding package 
for tht TRS-80 Model III or 4. 
16K tape or 32K disk vtrsiom. 
Maintain Multiple dan lilts. 
Use nuiber or lettir grades. 
Weighted test scores allowed. 
Hake changes fast and easily. 
Print or display class lists, 
scores and grade averages. 
65 page aanual, saaple session. 
Automatic data protection. 
Pricti $75.00 „ 8 3 

Orders and inquiries, write: 

Tinketr Techniques 
435 Green way Ave. 
Trenton, NJ 08618 



TRSDOS ^CP/M 



reformaTTer 

Model II usersl Convert files between 
TRSDOSand CP/MI 

■ REFORMATTER runs under TRSDOS 

■ Operates on single drive system 

■ Converts in both directions 

■ CP/M operating system not needed 

■ All TRSDOS record lengths supported 

■ Initializes blank CP/M diskette 

■ Displays or dumps CP/M files 

■ Manipulates CP/M directory under 
TRSDOS .,380 

$249.00 from stock. CP -'M— IBM. 
TRSDOS~DEC. and CP M-DEC ver- 
sions of REFORMATTER also available at 
$249.00 from MicroTech Exports. Inc.. 
467 Hamilton Ave.. Palo Alto. CA 94301 

Tel: 415/324-91 14 TWX: 

910-370-7457 MUH-ALTOS X •• 



PRESERVE 

SO MICR( 

WITH 

BINDERS & FILE CASES. 



|L 



Keep your issues uf 80 Micro handy and ptulr< led in 
handsomr and durnblr lihrarv flip boxes or binders. 
Both styles are bound in dark Kreen lealherelle with 
Ihe magazine Ioro slampeil in sold. 

Kile boxes: each file box holds 12 issues, with spines 
\isihle for easy rtdereni c. 

$5.95 each. 3 for $17.00. H for $30.00 
Binders: each binder holds 12. issues and opens Hal 
lin r.i.\ readmit. 

$7.50 each. 3 for $21.75. B for $42.00 
(I'SA poslajte paid. Foreign orders musl include 
$2.50 per item.) 

PI. »s< si. lie M-ars desir.Nl I I 'ill. In IT. I) 
Send check or money order to: 

|MM |ones Box Corp.. P.O. Box 5120. Philadelphia. 
PA 19141: please allow 6 to B weeks for delivery. 
Snrrv no C..O.D. or phone orders. 



UPGRADE Your Model 4 from 64K to 



128K 



For Only 



•89 95 



Kit includes 8 - 64K RAM chips & 

REQUIRED PAL device You must 

already have 64K installed or order 

separately below 

Upgrade SCO 95 

For Only U%J 

(Kit includes 8 - 64K RAM chips & 
REQUIRED jumper.) 



64K 



16K 



For 
Model 3 



$ 15 



95 



Kit includes 8 - 16K RAM chips 
Rated @ 150 nanosecond access times 



Logix 



P.O. Box 18962 
AUSTIN. TX 78760 
5 12/445-6427 

Add $2 00 for shipping Texas Residents add 5% Sales Tax 
No C D s. certified checK or Money orders to' quickest 
delivery Personal checks subject to clearance 



\ferbatim 

flexible disks 

Call Free (800) 235-4137 for 

prices and information. Dealer 
inquiries invited. COD. and 
charge cards accepted. 

VISA' 




PACIFIC 
EXCHANGES 

100 Foothill Blvd 
San Luis Obispo. CA 
93401 InCal. call 
(800) 592-5935 or 
(805)543-1037 

•207 



micro 

Single Back Issues 




January 1980 to June 1980 3.00 

Single back issue 
July 1980 to May 1983 3.50 

Single back issue 
June 1983 on 4.50 

Add $1.00 per magazine lor shipping. 

10 or more back issues 

add $7.50 per order for shipping. ® 

Back issues»Attn. Mail Order 
80 Pine Sf Peterborough, NH 03458 

v See List of Advertisers on Page 291 



TRS-80* SOFTWARE 



Wnte tor our incredible 
catalogue of over 100 
pages containing hun 
dreds of programs for the 
Model I and III. Colour 
computer programs available m the Fall Cata- 
logue is $5 00 refundable on your first order All 
software is unconditionally guaranteed for life" 
Canadian manufacturer and distributor lor 
Molimerx Ltd of England 




0EAIERS WELCOME 

GAMES/ DOS/UTILITIES/ 
BUSINESS PROGRAMS 



* 



LDOS $159 95 

MULTIOOS $129 95 

ACCEL 4 $139 95 

FROGII $ 2395 



•POWERMAILPLUS $19995 

•AIRBUS $ 41.95 

•DATA WRITER $18995 

•DRIVER COMPILER $ 43 95 



•JUMBO $ 40.95 -ENIGMA $ 36 95 

FULLY SUPPORTED 
COMPUTER SOFTWARE 

■Traderta-* ol 'andy Corporation 

JSOFT 

P.O. Box 1437. WINNIPEG. Manitoba P.3C 2Z4 
V. (204) 942-0963 CANADA / 



Trend 
Software Package 

1. Bar Charts 

2. Linear Regression 

3. Statistics 

4. Histograms 

$99.95 

(Add $1 .50 for S & H) 

(PA Residents Add 6% Sales Tax. 

Make Checks or Monty Ord«r» Payable To: 

cSeLE-ctiue. <^oftwaxs c£y±t£m4. 




si 



4757 Liberty Avenue 
Pittsburgh. PA 15224 

^53 



80 Micro, December 1983 • 295 



NEW PRODUCTS 



edited by S.F. Tomajczyk 




The Over-The-Top Sheet Feeder from Gradco Systems Inc. 



Cassette Sheet Feeder 

A unique over-the-top 
sheet feeder for daisy wheel 
and matrix line computer 
printers is being sold by 
Gradco Systems Inc., 3421 
West Segerstrom Ave., Santa 
Ana, CA 92704, 714-549- 
9175. 

The unit features a single- 
cassette, 500-sheet capacity 
feeder. To operate, place the 
loaded cassette under the 
printer, and when printing 
begins, paper automatically 
feeds over the top of the 
printer directly into the 
printer's platen. The mecha- 
nism is completely enclosed, 
with no frames or holders lo- 
cated above the printer's pro- 
file to obstruct your view. 

The feeder accommodates 
a wide range of paper sizes 
and envelopes, as well as 
business forms, and auto- 
matic stacks of printed ma- 
terial. You can easily change 
from sheet to fan-fold feed- 
ing. An indicator light and 
button located at the front 
of the unit provide auto-stop 
and jam-release functions. 

You can install this over- 
the-top sheet feeder on many 
printers, including those 
from C. Itoh, Diablo, Qume, 
NEC, and Brother, among 

296 • 80 Micro, December 1983 



others. Pricing ranges from 
$600-$700 depending on 
your printer model. 
Reader Service ^ 551 

Hamming Around 

All you ham operators out 
there can now receive and 
transmit Morse code on your 
Model I, III, or 4 with this 
software-only Morse Code 
Interface. This 12K machine- 
language program has special 
routines that check incoming 
signals to make sure that they 
are valid code and not noise. 
Bursts of noise are ignored 
and only valid code is pro- 
cessed and displayed on the 
video screen. 

Another routine lets you 
view the incoming signal to 
aid in optimizing the receiver 
control settings. The pro- 
gram samples the received 
code bits and automatically 
adjusts them to the proper 
speed. 

The transmitter mode fea- 
tures five programmable 
buffers (200 characters total), 
a type-ahead (working buff- 
er), and user-selectable send- 
ing speeds up to 70 words per 
minute. 

Comp-Code 1.0 costs just 
$26.95 from Gary Woodall 
Software, P.O. Box 284, 



Plainneld, IN 46168, 317- 
271-2565. Dit-dah-dh-dit! 
Reader Service * 579 

Project Planning 
Program 

Project managers can at- 
test to the work and time in- 
volved in getting a project on- 
to the drawing board and 
then setting it in motion. 
Now you can reduce those 
headaches with Plantrac, a 
comprehensive, menu-driven 
planning and control system. 

It guides you through net- 
work creation and amend- 
ment (up to 12,500 activities), 
time resource and cost analy- 
ses, scheduling, updating, 
and reporting (including a us- 
er-designed report format). 
Plantrac generates bar- 
charts, I/J, and Precedence 
networks on your screen, 
printer, or plotter with criti- 
cal path activities high- 
lighted. 

A key feature of this pro- 
gram is the resource schedul- 
ing (levelling and limiting) 
component that allows dif- 
ferent schedules based on re- 
source requirements and 
availability. In addition, you 
can generate progress out of 



sequence that can be undone 
if necessary. 

Plantrac operates under 
TRSDOS 2.0 on the Models 
II, 12, and 16. It costs $3,000 
from Computerline Limited, 
755 Southern Artery, Quincy, 
MA 02169, 617-773-0001. 

Reader Service v 562 

floppy Pockettes 

If you've been stuffing 
your notes concerning a par- 
ticular disk in an envelope, or 
have written cryptic notes on 
the disk label only to have 
them smear the next day, 
Floppy Pockettes may be of 
some use to you. With these 
special vinyl disk envelopes, 
you can store a 3- by 5-inch 
card in the clear pocket, giv- 
ing you plenty of room for 
notes. 

The 12 envelopes come in a 
wide variety of colors for col- 
or coding your disks: red, yel- 
low, green, light and dark 
blue, brown, beige, frosted 
clear, white, grey, orange, 
and woodgrain. They fit in- 
side a hinged smoke-plastic 
box for additional protec- 
tion. 

The 12 Floppy Pockettes 
with the disk box sell for 
$7.95; the 12 Floppy Pock- 




Keep your notes and disks together with floppy pockettes. 



DOES STRING COMPRESSION HAVE YOU 
TIED UP IN KNOTS? 

LET TRASHMAN™ CLEAN UP THE MESS! 



THIS PROGRAM IS A MUST FOR EVERYONE WHO USES BASIC 
can reduce BASIC'S string compression time delays by 9b% or more. 




ON A TRS-80 Why' Because it 



n 


SECONDS DELAY 


PERCENT 


STRINGS 


NORMAL 


TRASHMAN 


IMPROVEMENT 


250 


11 8 


07 


94 


500 


458 


1.6 


965 


1000 


179.6 


35 


98 


2000 




78 


M • 



(All timings done on TRS Model I Model III 15*. lull', but pel 
improvements identical Lilting ol timing program available on request ) 



SAVE TIME WITH FASTER 




■ ASTER speeds up 
most TRS-80 BASIC programs 
by 20-50%. It's helped hun- 
dreds of satisfied people and 
it can help you. Detailed in- 
structions make it easy to 
use. FASTER analyses your 
BASIC programs whll* they 
run. then displays a simple 
change, usually one line, 
that sequences program vari- 
ables so the ROM will find 
. — ^— ■ --»"»-". them faster. 

You can use FASTER to speed up programs you've 
bought, as well as programs of your own. Since it isn't a 
compiler, your BASIC programs can be read and changed 
afterwards. FASTER works on business programs, models, 
and games. The more complex your program, the better the 
results. 

Does FASTER really work? Yesl lust check the reviews in 
Personal Computing. May. 1981. p. 116: "FASTER is effec- 
tive and easy to use", 80 U.S. Journal. April. 1982. p. 106: 
I recommend FASTER to everyone"; and 80 MICRO (April. 
1962. p. 40): 'If you... would ilk* • signUicant increase in 
tke run-timt speed, then bay FASTER." 

FASTER runs on the TRS-80 Models I and III. 16-48K tape 
or disk, and all major operating systems. $29*95 

QUICK COMPRESS" take, only 276 byte, oi 
memory, and removes the blanks and remarks from even 
the largest BASIC program in less than 3 seconds. It pro- 
duces smaller, faster programs without altering their logic. 

$19.95 

SPECIAL: FASTER and QUICK COMPRESS: $39.95 

TERMS We accept V15A. MaXerCard. check* or even ca»h. Pleas* add J2.00 thipping handling withie U.S.A or Canada, and Si 00 
oversea. COD. choree l» 12.00 In U.S. only. We ihip within one day ol receiving orders. In Calil. add •'. "• tale* la* 



WHAT S STRING COMPRESSION? 

When a BASIC program changes a string iworos, names, oescrip 
tions). it moves it to a new place in memory, and leaves a hole in 
the old place Eventually, all available memory gets used up and 
BASIC has to push the strings together to tree up some space. This 
takes time Lots of time The computer stops running tor seconds or 
minutes, and you may even think it's crashed' 

Yes 1 String compression is what's been causing all those in- 
tolerable delays. The keyboard won't work, and until ail the strings 
have oeen collected, you just have to sit and wait Then things run 
for a while, until string compression is needed again And again. 

It you're using your computer for business, that wastes you' 
money If you're using it personally, it wastes your time 

WHAT'S THE SOLUTION? 

As soon as you stan using TRASHMAN. those delays will almost 
disappear The program is very easy to use. so you don't have to be 
a computer programmer to take advantage of it it's written in 
' machine language and uses only b78 bytes ol memory tor itself 
plus two bytes for each "string ' m your program It works with 
other machine language programs and all the ma|or operating 
systems 

HOW WELL DOES IT WORK? 

II you use it with a BASIC program that has only a few si 
very little time is wasted in string compression, and TRASHMAN will 
be only slightly helpful But, in programs that use hundreds or 
thousands ol strings, including large string arrays. TRASHMAN is 
just what you need. If you have any remaining doubts, just look at 
the chart, and then get yourself a copy as last as possible. 

TRASHMAN is available on disk 

for just $39.95. 

ATTENTION SOFTWARE PUBLISHERS. 

Trashman may be licensed lor use with your packages 
Call for details 




erratic i>isk D#v*t? 

You can avoid unnecessary disk 
errors and repair bills by using 

RPM. This easy-to-use program 
measures the rotational speed and 
fluctuations ol your disk drives, and 
warns you if they are running loo 
fast, too slow, or unevenly. 

Incorrect or erratic speed is a 
common cause of unexplained disk 
errors and loss of data. RPM s docu- 
mentation explains how to detect and correct these problems 
quickly and easily. As 80 MICRO (April. 1982. page 41) 
said: "If your drives have problems I recommend RPM 
belore paying to get it repaired." 

RPM is supplied on diskette for the TRS-80 Models 1 and 
III. We suggest you order a copy belore you need it. 

$24.95 
ORDER FROM TOUR LOCAL SOFTWARE 
DEALER, OR CALL NOW, TOLL-FREE: 

(800) 824-7888. Operator 422 

FOR ORDERS OR INFORMATION CALL: 
(213) 764-3131, or write to us. 




Dept. G, Box 560. No. Hollywood. CA 91603 .*» 



DISCOUNT 

TRS-80 

COMPUTERS 



UP TO 25% OFF! 

Call or Write for Price List & Catalog 

918/456-6759 



NEW PRODUCTS 



WEBSTER ELECTRONICS 
1027 S. Muskogee 
Tahlequah, OK 74464 




LOWEST PRICES 
IN THE U.S.! 



• 217 




MODEL 4 OWNERS 



PEACHPAK 4 ACCOUNTING FOR YOUR MODEL 4 



Now, for Che first time, TRS-80 Model 4 owners can 
buy professional accounting software to run under 
TRSDOS 6.0. This is the Peachtree Series 4 
accounting package which has been one of the nose 
popular CP/M based accounting packages for several 
years. The package includes: 

* General Ledger 

- Up to 800 accounts 

- 1000 transactions per period 

- 99 departments / optional departmental 

income statements 

- User defined financial statements 

* Accounts Receivable 

- 500 Accounts 

- 700 transactions per period 

- Posts transactions to GL 

- Mixed open-item and balance-forward accounts 

* Accounts Payable 

- 500 Vendors 

- 500 transactions per period 

- Auto or manual select of invoices to pay 

- Prints checks and detailed stubs 

All three packages for just $495.00 

These packages have been adapted to TRSDOS 6.0 by 
Coapu-Systems Software and include the standard 
CP/M packages with the TRSDOS 6.0 diskettes and 
complete documentation. 



COMPU-SYSTBMS SOFTWARE 

212 Skylark Ct. 

Norman, 01 73069 

(405) - 377-8570 

Call or write for brochures on these and other 
Coapu-Systems Software products. ^447 



The Mini-T-Switch lets your peripherals share a common component or a CPU 
I/O port. 



ettes alone are $5.95. Sam- 
ples, two Floppy Pockettes, 
are available for $1. They are 
sold by CDC Serious Soft- 
ware, 13715 Vanowen St., 
Van Nuys, CA 91405, 213- 
997-9692, 213-780-2958. 
Reader Service »- 559 

Hi! What's Your Name? 

Now you can produce 
customized name tags, table 
tents, and labels for any occa- 
sion with NAMETAGR. The 
program's data entry routine 
is highly efficient. It lets you 
skip, back-up, or ditto. You 
can select your name tag for- 
mat from the file or custom- 
ize your own. The program 
takes full advantage of the 
dot-addressable feature of 
dot-matrix printers by letting 
you design and print your 
own logo. 

The package includes two 
5 V* -inch disks, 30 bulldog 
holders, 400 pin-feed name 
badge stock, 240 labels (VA 
by 1 inch), 120 labels (4 by 2 
inches), and a manual. Avail- 
able for Models I and III, it 
costs $79 from ETS Center, 
P.O. Box 651, Willoughby, 




Minuteman: An emergency power 
supply and voltage regulator. 



OH 44094, 216-946-8479. 
Reader Service ** 561 

Mini Switch 

The ABS Mini Switch ends 
the hassle of plugging and 
unplugging your data cables 
for different operations. It 
provides push-button switch- 
ing between any two ports (A 
and B) and a common port. 
Typical applications include 
two terminals switching be- 
tween one modem, one ter- 
minal switching between two 
computers, and a computer 
switching between two 
printers. 

Available from Western 
Telematic Inc. (2435 South 
Anne St., Santa Ana, CA 
92704, 714-979^363), the 
ABS Mini Switch costs $89. 

Reader Service *-* 568 

Shot Heard 

'Round the World 

Minuteman is a new unin- 
terruptible power supply 
from Para Systems (2409 D 
Ave. J, Arlington, TX 76011, 
817-6400837). It is designed 
to protect your microcom- 
puter from power failures, 
brown-outs, and voltage 
surges. When a power fluctu- 
ation does occur, Minuteman 
immediately switches from 
A/C power to its own emer- 
gency battery power for up to 
15 minutes. This gives you 
time to save your data and 
shut down your system with- 
out losing valuable input and 
programming hours. The 
unit automatically switches 
back to A/C when power is 
restored. 



298 • 80 Micro, December 1983 



NEW PRODUCTS 



Minuteman also features 
voltage regulation and surge 
protection as well. The unit 
provides standby power for 
microcomputers and word 
processors with a power rat- 
ing of 200 watts or less. It 
sells for $395. 

Reader Service • 563 

Bringing It All Together 

The Micro Matrix II is a 
line-controlled central ex- 
change for up to eight RS- 
232C, current loop, and TTL 
(transistor-transistor logic) de- 
vices. It features a patented 
circuitry that lets you transfer 
data anywhere in your net- 
work as long as the devices 
are under software control. 

Providing 64 memory- 
mapped connection points, 
set-up is simplified by firm- 
ware that includes prompts, a 
command menu, connection 
displays, and ports handled 



by user name. The Micro 
Matrix II uses IK RAM of 
non-volatile storage for 16 
different switching arrange- 
ments. All 64 connection 
changes occur within 7 mi- 
croseconds with no switching 
glitches or transmission inter- 
ruptions. 

Priced at $795 for the 
single-board configuration 
and $995 for the complete en- 
closure, the Micro Matrix II 
is sold by Digital Laborato- 
ries Inc., 600 Pleasant St., 
Watertown, MA 02172, 617- 
924-1680. 

Reader Service • 565 

Customized 

Adventure Software 

Give your friend or loved 
one a unique and personal 
gift on the next special occa- 
sion: bitCard. BitCards are 
challenging text and graphics 
adventures whose themes re- 




TV Micro Matrix II: A software-controlled data switch (hat connects RS- 
232C, Current Loop, and TTL devices. 

S See List ol Advertisers on Page 291 




LOWER PRICES 
LONGER LENGTHS 



DATA TRAC C-06, C-12, C-24 



From the leading supplier of Computer 
Grade Cassettes, new, longer length C-12's 
(6 minutes per side) provide the extra few 
feet needed for some 16K programs. 

r^> Premium 5- screw shell with leader 
^^ —BASF tape 

,<~^> Internationally acclaimed. 
^*"^ Thousands of repeat users. 

<^*> Error Free • Money back Guarantee 



CASSETTE 
STORAGE CADDY 




Holds 12 
cassettes * o bones 
includes edge labels 
and lnde» card 



500 C-12's— 38C each.*,,*,. 

Shipping $17 500 add *t 



500 Boxes 13< ea. • ihipping $10 500 




TRACTOR FEED 
• DIE-CUT BLANK 
CASSETTE LABELS 




BASF Quali metric Flexl-DIsc— Lifetime Warranty 
5W Single Side. Double Density, Soft-Sectored 



NEW! MICRO CASSETTES In convenitnt short lengths. 
MC-10 I Same superior tape in premium shell 
MC-20 WITH LEADERS. Supplied complete with 
MC-30 I box (fits Epson & Sharp micro drives). 

_ Call:213/7(X)-0330- c '^ c A :^r; ENT 

ORDER {\MAIL TO: VOttK lO^ComouterwQre 
NOW . . .1/9525 Vassar Ave. #80 , Chatsworth. CA 91311 

■ ■■■*■■! ORDER FORM - — — -._ — _ 



Each sld cassette 
includes two YORK 10 
labels only Boies are 
sold separately We 
prefer 10 ship by UPS 
as being the laslest and 
safest it you need ship- 
ment by Parcel Post, 
check here n 

NOTE Additional 
charges outside 48 
Continental States 
Shipments to AK, HI. 
and USA possessions 
go by Priority Mail. 
Canada & Mexico- 
Airmail. 
All others— Sea Mail 



ITEM 1 DOZEN 


2 DOZEN 


TOTAL 


C-06 Q 7 00 


□ 1300 




C-12 3 7 50 


3 1400 




C-24 3 900 


J 17 00 




Hard Bo. _} 2 SO 


400 




Blank labels 1 3 00 MOO 


n 20 00/1000 




Storage Caddy @ S2 95 ea Oly 




FHoo-Oiac 3 26 95/10 




12000 50 




MCRO CASS. 1 DOZEN 






MC-10 3 1650 


□ 32 50 




MC-20 3 18 00 


Q 34 50 




MC-30 □ 1900 


□ 36 00 




SUS TOTAL 




CaM residents add. sales tax 




SHIPPING/HANDLING Aaj esaatfty i 


•icast sm special) 


350 


Outsets 48 Continental States -Additional $1 per caddy 
per do* cassettes, per doz bones, per 10 docs 




TOTAL 





Check or M O Charge to 

anctoaad D Creori Card O VISA D MASTERCARD 

D PLEASE SENO QUANTITY DISCOUNTS 

Card No 



#80 

.-156 



_ Exp. 



Name _ 
Address . 
City 



State/Zip 



Signature _ Phone 

Computer make & model Disk? (y/n) 



80 Micro, December 1983 • 299 



The Next Generation: 

SUPERLOG 

ADVANCED ELECTRONIC NOTEBOOK 
BYKSoft 

Ov«r the past two years, LOG Electronic Notebook has quietly been creating a revolution in 
personal information management. Designed to emulate a familiar pencil and notebook, LOG 
Electronic Notebook can do for random information what a spreadsheet program does for 
numbers. 

Now, even the best has been improved! KSoft is pleased to announce SUPERLOG, the next 
generation of the LOG f amity SUPERLOG is not a patch! It is a totaly rewritten version of the 
original LOG concept, Mry compatible with the LOOS 5.1.3 operating system currently 
endorsed by Tandy. 

SUPERLOG retains al of the versatile features of LOG while adding many new options 
requested by professional users: Floppy or Hard disk. Any number of LOG files per diskette 
1 to 32767 pages per Ne. Password protection and error checking. New text editing com- 
mands include automatic text Wrap- Around, Expand and Delete tor entire lines, a Page Copy 
command, and an Undo key to reverse editing changes. Cursor motion is more flexible with 
new key commands plus a Forms simulator. The SEARCH function is greatly enhanced with a 
Wild-Card character, case-independent search, and multiple word search at 1 pages/sec- 
ond. 

Also Note: SUPERLOG is now futy interrupt activated; it may be accessed from practically 
any foreground task including LDOS Utilities, LBAStC, LSCRIPT. EDAS. etc. with non- 
destructive return to the foreground program No other information management program is 
this versatile! 

Write or call Today! Wall be glad to tel you about SUPERLOG and what it can do for you! 

SUPERLOG Specify Model I or HI . $119.95 

LDOS 5 1 3. 46K, and 2 Drives required 

(Model IV version to be offered soon.) 

LOG TRSDOS versions. Models I, III stW available 

KSoft (601)992-2239 



318 Lakeside Drive 
Brandon. MS 39042 



Mastercard and Visa accepted. 

Add $5 00 lor shipping and handling. 



(TRSDOS is a trademark of Tandy Corporation) 
(LDOS is a trademark of Logical Systems Inc.) 



NEW PRODUCTS 



Baudy House 

Computer Products 

950 Scott Lake Road • Pontiac. Michigan 48054 
(313)683-8388 



UTILITYS MODEL 1 & 3 



Super Utility Plus 3.1 $59.95 
Lazy Writer still only. . . $145.00 
Zorloff II word pro $09.95 



COMPUTER & MODEMS 



Model 4 complete with RS232 
64K 2disk drives .... $1009.00 
Model 1 00 8k with modem cable 

and comuserve $775.00 

Lynx modem $245.00 

Hayes 300 modem $245.00 

Hayes 1 200 modem. . . $545.00 



* GAMES * 



PRINTERS 



Epson FX-80 only $549.95 

C. Itoh Prowriter851 0. . . $375.00 

Epson Print Buffer $139.95 

Epson ribbons 2 for $12.50 



DISKETTES 



Panik(disk) $17.95 

Panik (cass) $15.00 

Defiance (disk) $10.05 

Hyper light patrol $12.00 

Demon seed $19.95 



Verbatim Data Life Diskettes 

1 Box $27.00 

2 Boxes $25.00 

5 boxes or more $24.75 

10 boxes $24.25 

No name disks ss/dd . . . $10.95 



SLIM LINE DRIVES 



40 track single sided . . . $205.00 
40 track double sided. . . $275.00 
80 track single sided .. . $315.00 

Single power/ case $45.00 

Double case/power $05.00 



Mutildos 1/3 Operating system only $05.00 

Newdos/80 1 /3 Operating system only $125.00 

Dosplus 3.5 Operating system only $115.00 

Shipping add $3.00 to order in U.S. out of U.S. Add $5.00 Most 
orders shipped in 24 hours Prices subject to change Visa/Master 
Card, Checks accepted. Checks need 1 days to clear C.O.D.s add 
$2.00 to order. „ 184 



late to a specific holiday or 
event. Their unique feature is 
that you can order them cus- 
tom-programmed. An indi- 
vidual lucky enough to re- 
ceive a bitCard as a gift will 
find several personal refer- 
ences to himself as he pro- 
ceeds through the adventure 
(e.g., his name found on a 
note uncovered in a locked 
drawer). 

BitCards also deliver a per- 
sonal holiday greeting to 
your friend(s) in whatever 
words you wish. Your mes- 
sage appears as part of a 
dazzling climactic animated 
graphics scene — the reward 
for successfully completing 
the adventure (impatient play- 
ers can jump to this final 
scene by using a password). 

Available for the Models 
I, III, and Color Comput- 
er, bitCards cost $16.95 each 
from bitCards, 120 South 
University Drive, Suite F, 
Plantation, FL 33317, 
305^73-4741. BitCards are 
available for Christmas, Val- 
entine's Day, birthdays, 
graduations, and other holi- 
days and milestone occa- 
sions. 

Reader Service is 556 

Put It on Display 

Bush Industries Inc. (312 
Fair Oak St., Little Valley, 
NY 14755) makes a versatile 
desk for your personal com- 
puter. Finished in Arcadian 
hickory vinyl veneer, the desk 
(Model CT-100) measures 34 
by 33 by 18 inches with a full 
width platform above the 
desk surface for your moni- 
tor, disk drive, and printer. A 
storage shelf below the work 
surface, also full width, is 
designed to hold manuals, 
software, and accessories. 

It has casters for easy 
maneuverability, and you 
can use the desk as a student 
work center or typing desk as 
well. It is priced at $69.95. 
For further information, 
contact Felderman/Sharp 
Communications Inc. at 



216464-7252. 
Reader Service ^ 558 

Model 100 Memory 

The IM-100 is an 8K RAM 
memory module that plugs 
directly into the existing sock- 
ets of your Model 100 with 
no modifications to the sys- 
tem. You can add up to three 
of these plug-in modules to 
upgrade the portable com- 
puter to a total of 32K RAM 
memory. 

Each memory module sells 
for $75. If you buy two or 
more units, the price is re- 
duced to $70 each. For fur- 
ther information, contact 
Holmes Engineering, 5175 
Green Pine Drive, Murray, 
UT 84107, 801-261-5652. 

Reader Service »^ 554 

Raiders of the 
Lost Pyramid 

An adventurer, you are 
looking for the hidden buried 
entrance to a pyramid that 
holds priceless treasures hid- 
den for thousands of years. 
Your only tools are a crude 
map (a cube with ancient 
markings), a partial hiero- 
glyphics dictionary, and a 
special navigation box. After 
you discover the entrance, 
you'll meander through 
rooms and chambers filled 
with one death trap after 
another. You are to unravel 
all the mysteries of this an- 
cient pyramid and find all the 
treasures. The catch? Get out 
alive! 

Infidel is the newest prose 
adventure game from Info- 
com. Its realistic environ- 
ment is a result of the re- 
search the adventure's author 
did on pyramids and Egyp- 
tian history. The game fea- 
tures Interlogic, a develop- 
ment system that lets you use 
complete sentences instead of 
the standard two-word com- 
mands. Infidel recognizes a 
600-word vocabulary, so you 
shouldn't have much trouble 
communicating. 

Infidel costs $49.95, and is 



300 • 80 Micro, December 1983 



SECRETARY, STU DENTS, 
YOU CANT TYPE RIBS? 

Try BIB/RITE 

to produce bibliographies in a standard 

form* to learn or to teach a standard 

bibliographic form 

Prompts for elements and for form, sort by author 
and by category, merge keyboard and disk or tape 
input, semiautomatic journal title entry, edit, print 
with heading, margins, automatic paging. 

Maximum of about 150 citations in 48K. 200 for 
non-disk Basic. Best for fewer than 100 citations. 
Slow for 150-200. 

Available for tape or disk use. Disk recommended. 
For TRS-H0 Model I Level II with lower case. 
Model III, or Model 4 in Model 111 mode. Uses 
about 14K. Need 32K minimum and printer with 
caps, lowercase, and underline. Apple, CP'M with 
\t Basic. Model II. 12. & 16 versions in process. 

One computer, individual user S45.95 * S2 50 
postage and handling. One computer, multiple 
users $150 ♦ $2.50 postage and handling. Up to 10 
user's guides for multiple users, three sent if not 
specified. User's Guide only (24 pp. 8Vi" x 11") 
$3.50 ♦ $1 postage and handling. Applies to pur- 
chase. 

On approval to institutions. Dealer inquiries 
invited. 

Robert E. Litke, Ph.D. 

432 Cottage Avenue 

Vermillion, South Dakota 57609 

Technical questions: 
Phone (605) 624-2948 evenings 

• 452 
*APA, 1983, Other forms on demand. Trademarks: 
TRS-80 Tandy Corp.; CP/M Digital Research; like 
MBasic Microsoft Corp.; Apple Computer, Inc. 



Put your TRS-80 
in touch with 
IBM's universe 

Now you can have full IBM 
communications capability through one of 
Innovative Data Technology's 1/2" 
magnetic tape peripherals. 

Featuring industry-standard interfaces, 
rapid data transfer rates, full operating 
and command subsets and a wide 
selection of models and configurations, 
IDT s magnetic tape subsystems 
provide economical and reliable 
data/program interchange, 
40M bytes of storage and 
disc back-up. All IDT sub- 
systems come complete and 
include tape transport, 
formatter, intelligent 
controller, computer resident 
coupler, cables, documentation 
and software. But most 
importantly, they help put your 
system in touch with the IBM universe. 



O.E.M., dealer/distributor discounts available. 




TD- 101 2-3 

Tape 

Subsystem 




4060 Morena Blvd. • San Diego, CA 92117 
INNOvXTIVF < 619 ' 270-3990 • TWX: (910) 335-1610 

t>AJA Eastern Regional Office: 

TrXHNKXOOY RO. Box 1093 • McLean, VA 22101-1093 

(703) 821-1101 • TWX: (710) 833-9888 

•*377 IBM Is a trademark of International Business Machines Corp. 

TRS-80 Is a trademark of the Tandy Corporation 



T80-FS1 



Simulator 



Available for Model I or Model III. $25.00 
on cassette or $33.50 on disk (with 
enhancements) All versions require 16K. 




See your dealer! 



If you order direct, please specify whether you have Model I or 
Model III (the media are different) and whether you want disk or 
cassette. Include $1.50 and indicate UPS or first class mall. Illinois 
residents add 5% sales tax. Visa and Mastercard accepted. 

If you don't yet own a disk, don't fret. You can upgrade anytime. 
Cassette users may send back their cassette (but not the manual) 
along with $10 (first class shipping included) and receive the disk 
version. 



LOGIC 

Communications Corp. 
713 Edgebrook Drive 
Champaign, I L 61820 
(217) 359-8482 7 , 
Telex: 206995 



^ See Ust of Advertisers on Page 291 



80 Micro, December 1983 • 301 




HERE 



ED 



is ! 



FAST "Data- Saves & Loads 

FOR MODEL I or HI 

PLUS: Hi-baud Stvt/ Load/ Verity o< BASIC programs, 
memory blocks, And numeric arrays; Hi-baud FAST 
Save/Load of 'data' and string arrays with no 
re-programming hassle; Chain-load BASIC programs; 
Save screen to tape; LIST slowdown; long pgm 
names; password protection... and much more. 

ALSO: Model I: Debounce; print-screen feature; 
supports E/I dual-recorder ops; DI$K compatible. 
Model III: Set CASS hi/low; set time, date; 
control break Key; turn clock display on/oft. 

State Model I or III, memory size, recorder, 
your special needs, etc. Cassette only.... $39 

P.Pd. 




Urit« or call for sort info and/or your copy of the 

<& Cassette #a*ette 

a valuable collection of ^Kl 

good stuff for tapists . jBS 



mm 



P.O. BOX 328 
SOFTWARE bolivar, mo 



Phone (417) 326-7154 



65613 



: WANTED; 

Buyers & We II pay the shippin 

•CALL FREEH800) 6544058- 

"Call For Reduced Prices At Various Quantities" 



\ferbatim. 

045 

350 
345 

4 4 - s 

095 

340 
395 



el" sin side 
D 4 dbiden 

cl" dbl side 
°* dbl den. 

cl" sin side 
°4I quad 

cl" dbl side 
°4 quad 

8" 

8" 



sin side 
sin-den. 

sin side 

dbiden 



8- dbl side 
dbl-den. 



Head Cleaning 

Kits....94C 

, Refills. 14§9 



Dysan 



cl" sin side 
°S dbl den. 

cl" dbl- side 
°n dbl den. 

cl." sin side 
°4 quad 



5!; 
8" 
8" 
8" 



dbl side 
quad 

sin side 
sin den. 

sin side 
dbl den. 

dbl side 
dbl den. 






We Stock 

"Bulk-Packed" 

Diskettes 



8" 



Scotch* 
2 3 - 5 

dbl side 25 
045 
3OO 
395 



cl" sm side 
^4 dbiden 



°4 dbiden. 

a- sin-side 
sin den 

o" sin side 
dbiden. 



dbl side 
dbiden 



Disk Minder 

•Smoked Plastic 
•Holds 75 Disks 

17?5ea 



Prices per ea. 
10 per box the 



Di$ette4 

Connection 



Dealer Inquiries 
Welcomed 



P0 Bo. MM 
B«h«nv OK 
73006 



*\| '(Continental U.S. only 



Add 3* on orders under 40*) 



£ 



NEW PRODUCTS 



available for both the Models 
I and III. For further infor- 
mation, contact Infocom 
Inc., 55 Wheeler St., Cam- 
bridge, MA 02138, 617-492- 
1031. 
Reader Service v 550 

VisiCalc Mentor 

Master the VisiCalc elec- 
tronic spreadsheet in a matter 
of hours with VisiCalc Pro- 
gramming: No Experience 
Necessary. It is a self- 
instructional disk and guide 
that gives you hands-on 
learning experience with Visi- 
Calc. 

You begin with the basics 
and progress through ad- 
vanced functions while si- 
multaneously building a 
working Profit Analysis 
model. A self-pacing Check- 
point system lets you correct 
errors or review any part of 
the tutorial at any time. In 
addition to the Profit Analy- 
sis model, there are five other 
program templates included: 
Time Management, Future 
Cash Flow Analysis, Port- 



folio Valuation, Retirement 
Planning, and a Loan Repay- 
ment Scheduler. 

The slipcase package con- 
tains a spiral-bound 236-page 
manual with the sealed disk 
affixed to the inside front 
cover, and a command refer- 
ence card. The Model III ver- 
sion has a suggested retail 
price of $59.95. It is sold by 
Little, Brown and Company, 
200 West St., Waftham, MA 
02154, 800-343-9204, 617- 
89O0250. 

Reader Service y 555 

Teach Your Computer 
to Lisp 

A fast machine-language 
Lisp system is now available 
for you Models I, III, and 4 
owners out there. The system 
is designed to satisfy virtually 
all your needs, so it has fea- 
tures such as pixel graphics 
and floating-point routines in 
addition to a full range of 
Lisp functions. 

The Lisp Interpreter fea- 
tures full recursion, function 
tracing and error trapping, 




Learn VisiCalc in a few short hours with this self -paced guide. 



302 • SO Micro, December 1983 



WE'RE SERIOUS 
ABOUT FUN! 

Software for 

Radio Shack's TRS-80 

MODELS 11/12/16 

• GAMES • ADVENTURE 

• BUSINESS • LANGUAGE 

• EDUCATION 

CALL OR WRITE TOR TREE 
BROCHURE AMD MORE IfirORMATIOM 

£* Rizzo Data 
°^° Systems Corp. 

577 Burlington Rd. P.O. Box 458 
Bridgcton. NJ 08302 0356 

609/4517979 " 5,fl 



CIRCUIT SOLVER I 




You don I have to be an 
engineer lo make produc- 
tive use of this program A 
large clear manual leads 
you through the use of O 
cuit Solver using sample 
problems which have prac- 
tical application 



Features 

• Simple Circuit Entry 

• Circuit Listing 

• Circuit Storage t 
Retrlval 



Easy Circuit Editing 

Supports OuAmpi 
Many Uaa'ul Sample 
Circuits 



CSI 1 00C 
CSM01C 
CSI 1 02C 



PETCBM-64' 



APPLE" 

TRS BO- 



SS*^ 95 
34 95 



14 »i 



Inckid* $2 SO shipping and handling 

'PET CAM 6< APPLE and TRS 80 are ' Tiadtna'ks 

of Ctynmodote Appta Compute' and Tandy Wasp 

SHS SOLUTIONS 

1430 N LATROBE ^-^^ maMmaam 

SOITI (*■ -iv 

CHICAGO II 60651 ^a^** amaaaaaW 



"CC" RISER 




• Raises & tilt* TV monitor for easy viewing 
•Allows CC keyboard to slip under monitor 

for more desk space 

• Matching silver-gray fiberglass 
•$37.50 • $2.50 shipping 

80 DEMI-CASES 

•Models for LNW or MDX I & II Boards 
•$32.50 - $2.50 shipping 

N. Y.S Rwdmnts Add 7% Tum ■* ■ r * 

SYRACUSE R&D CENTER 

Box 125. Dewitt, N.Y. 13214 

Specializing in Electronic Packaging" 



DISCOUNT COMPUTERS 

100% RS COMPONENTS, NO FOREIGN DRIVES OR MEMORY — FULL WARRANTY 



24K MODEL 100 799.00 

16K MODEL 4 799.00 

64K MODEL 4. 2DR, RS232 1579.00 

80K MODEL 12, 1DR 2499.00 

80K MODEL 12, 2DR 3149.00 

256K MODEL 16B, 1DR 3898.00 

256K MODEL 16B, 2DR 4510.00 

256K MODEL 16B, 1 DR W/HD 5439.00 



DMP 100 PRINTER $ 299.00 

DMP 200 PRINTER 599.00 

DMP 500 PRINTER 1029.00 

DMP 2100 PRINTER 1599.00 

DWP410DAISY 1095.00 

DWP DAISY WHEEL II 1499.00 

12 MEG HD MODEL 11/12/16 2369.00 

ALL RS SOFTWARE 20% Off 



CASHIERS CHECK OR MONEY ORDER MUST ACCOMPANY ALL ORDERS 



(817)825-4027 



NOCONA ELECTRONICS • Box 593 • Nocona. TX 76255 



,'232 



huo/sixteen 

/magazine 






XagPONLY 
MAGAZINE FOR 
MODEL II & 16 
SEES 



™ 



two/sixteen magazine 
lilAEsrtOTsngfM 
Lucastcr, Pa. 176*13 
5?2 (717) 597-3364 




INODVILL 
DIET 
PROGRAM 

$69.95 



,V TAKE A BYTE". 

MAIWTSIW LOSI OM OArM WIICHT 
n*i »ou> IKS SO DouSM Oenetty DIM Mo a* Mil 

mt 

In» NOOVUl PICT ea.OGe.AM "Ta»« a A»tv 

• Calculate celorK and nutrttlv* lood intake 

• lvalue!* nutrttlv* value or your diet 

• Ccmiirt dally dial lo Individual ADA Chart 

• Create perionellred daily meal* end minui 

• aien veiled daily menus baaed an sound nuimion 

■ Save record* oi deMy meet* end mnui tor lulure plenntng 

• Print nutrtaon charts lood meal, menu end grocery Sets 

Take a Byta" to a Modular BASIC eiogrem 

— floor * — Menu 

[ 1 1 We uumm ei ided Peey tnettr* aawven c a i B.PAI CMaWT 
in .o*ndaMoWondom* cc oMFOOOli»T Oeto Fee 

] i }• •vulnl-onel Mtai LIST OeUj File Ei OTp l l l 

14) r ettsaead nail t Mr nu list Owe r*e I n a m 

;ll OaiOCthT IIST eroovam Module 
'SineaaeUSfNSMANIMl mcluranr, Oert* end SMSM 




RL 



ra 



NOOVILl Sollwere 

M Mad hoed 

hidoeiieid Conn 0M77 



ALLOWS UNLIMITED 
COPIES OF MOST 
RADIO SHACK 
PROGRAMS 
INCLUDING 
SCRIPSIT AND 
VISICALC 


j^W 


Cornet on a disk 




No Programming A 
Experience M 
Necessary ^L 




ONLY f\ 


&** 


$15.00 ^W 


IT** 

M £ In 
m £ Kansas 

V »* 31 « 

$> 666-3611 


(Spy 


affTsi 

SH ALES 


— «gy^ ra inc 




526 E. 4th 


HUTCHINSON. 


KANSAS 67501 



.- See Usl ot AoVBrttoers on Peg* 291 



80 Micro, December 1983 • 303 



NEW PRODUCTS 



property lists, 180 predefined 
Lisp functions, trigonometric 
and exponential functions, 
visual display capability, ab- 
breviated quoting, and much 
more. The Lisp Editor is a 
standard, expression-orient- 
ed editor that features general 
pattern matching for search- 



ing and substituting. 

The system runs on TRS- 
DOS, LDOS, and NEWDOS, 
and includes a formatted disk 
with a Lisp Interpreter, a 
Lisp Editor, a differentiator 
and algebraic simplifier, a 
manual, and a poker player. 
Priced at $79.95, the system 




Volksmoderrv An inexpensive direct-connect modem. 



requires one disk drive and 
48K. It is sold by Artificial 
Intelligence Technologies, 
2121 NE 152nd St., Red- 
mond, WA 98052, 20^644- 
3068. 
Reader Service • 572 

Dial Direct! 

Volksmodem is an inex- 
pensive direct-connect mo- 
dem from Anchor Automa- 
tion Inc. (6913 Valjean St., 
Van Nuys, CA 91406, 
213-997-6493). This means 
that you no longer have to 
worry about missing a phone 
call just because your phone 
lines are tied up to an acoustic 
modem. With Volksmodem, 
a simple flip of a switch lets 
you either go on line or make 
and receive phone calls. 

The modem has a sug- 
gested retail price of $69.95. 
You have to purchase com- 



puter adapter cables sepa- 
rately. Both the RS-232 and 
Radio Shack adapter cables 
are priced at an additional 
$12.99. You can buy Volks- 
modem at major department 
stores and with mass mer- 
chants nationwide. 
Reader Service • 560 



How to 
Sell Your Programs 

You've slaved for months 
without sleep, living on cof- 
fee and root beer, trying to 
finish your program. Now 
you're done, and you're 
ready to stand the computer 
industry on its ear. But where 
do you go? Whom do you 
show your priceless program 
to? Programmers' Pipeline 
may be the answer. 

Programmers' Pipeline is 
an electronic listing service 



CONVERT YOUR SERIAL PRINTER TO PARALLEL 



CONVERT YOUR PARALLEL PRINTER TO SERIAL 



The UPI serial printer interfaces allow an ASCII serial printer 
to be connected to the parallel printer port of the TRS-80 
computers or any other computer which has a Centronics 
compatible parallel printer port. 

Software compatability problems which normally result 
when a serial printer is used are totally eliminated because, 
the computer "thinks" that a parallel printer has been con- 
nected. Special driver programs and changes to the operat- 
ing system are not required with computers designed to 
work with a parallel printer. 

The UPI interfaces are completely self contained and ready 
to use. A DB25 socket mates with the cable from your serial 
printer. The ribbon cable attaches to the parallel printer 
port of your computer. The UPI interfaces convert the out- 
put of your parallel printer port into serial data in both the 
RS232-Cand 20ma. loop formats. Switch selectable features 
include: 



• Linefeed after Carriage Return 

• Handshake polarity (RS232-C) 

• Nulls after Carriage Return 

• 7 or 8 Data Bits per word 

• 1 or 2 Stop Bits per word 

• Odd, Even, or, No Parity 

• Baud rates 110 to 9600 

UPI-3VB for TRS-80 I & III 

UPI-2VB for TRS-80 II & 16 

UPI-3VB-6 for TRS-80 I & III with 6 ft. cable 

UPI-2VB-6 for TRS-80 II & 16 with 6 ft. cable 

Models for most other computers available at 



$149.95 
$149.95 
$159.95 
$159.95 
$15995 



NEW SERIAL TO PARALLEL INTERFACES 

The SPC SERIAL to PARALLEL interfaces convert serial ASCII 
data into parallel format for use with Centronics type paral- 
lel printers. A DB25 socket accepts serial data from your 
computer. The 36contact ribbon connector plugs intoyour 
parallel printer. Can be used to add a second parallel printer 
port to computers which reliably support both serial and 
parallel printers. 

Switch selectable options include the following: 

• 7 or 8 Data Bits per serial word 

• Odd or Even parity for serial word 

• Parity or No parity for serial word 

• 1 or 2 Stop Bits per serial word 

• 300, 600, 1200, 2400, or 4800 BAUD 



SPC-1 as described above 
SPC-CC with DIN plug and cable 
for the TRS-80 Color Computer 



$89.95 
$69.95 



All prices U.S. funds. VISA, MASTER CARD, COD, Purchase 
Orders accepted from schools, major corporations, and 
government agencies. Shipping and Handling on U.S. 
orders $4.00. Ten day return period. Ninety day warranty. 



bd 



BINARY DEVICES 

11560 TIMBERLAKE LANE 

NOBLESVILLE, IN 46060 

(317) 842-5020 -106 



TRS-80 h. j trademark of TANDY 



304 • 80 Micro, December 1983 



Now First For Any Dos . . . 



EBASIC 



Extended Basic for the Model I and Model III. Adds 
graphics, sound and line-labeling to Basic. Works with 
DOS PLUS 3.5,LDOS, NEWDOS80, TRSDOS, and 
MULTIDOS. $49.95 



Assembly language programming has reached a new era. 
Unlimited nesting of conditional assembly. 
Unlimited nesting of INCLUDING files. 
Absolutely will not accept a bad OPCODE. 
Positively the fastest full featured assembler. 



ZEUS 

Editor Assembler 

INTRODUCTORY 
Price $79.95 



• Built in hex and decimal calculator. 

• Partition EDTASM format source text on load 

• Automatic syntax check on line entry. 

• Forward and reverse scrolling. 

• Conditional assembly. 

• Include source text from disk file. 

• Over 34,000 bytes for source text. 

• Creates object code for 794 instructions 

• Creates object code 2% to 3 1 /2 times faster. 



Other Products Available From C.E.C. 

MULTIDOS Version 1.6 for either the Model I or the Model III $99.95 

Z'DOS Version 1.0 for either the Model I or the Model III $39.95 

BOSS/RENUM90 Machine language Basic program debugging/renumbering 

utility. 

BOSS/RENUM90 (tape) $24.95 

or BOSS only (disk) $15.95 



COSMOPOLITAN ELECTRONICS CORPORATION 

5700 Plymouth Road . Ann Arbor, Ml 48105 
Technical Line Ml orders (313) 668-6660 Toll Free orders 800-392-3785 



Add $3.00 •hipping a handling. 

Foreign ordert add 115.00. 

Michigan raaldanta add 

4% aalaa lax. COO add S1.90. 

Personal chacka taka two weeks 

to claar. VISA 4 Maatarcard 

accaptad. 



See Ust o( Advertisers on Page 291 



80 Micro, December 1983 • 305 



NEW PRODUCTS 



that posts a description of 
your software program to 
dozens of companies looking 
for new software to add to 
their product lines. They post 
your description within min- 
utes after receiving it, day or 
night. They reinforce this on- 
line service by sending you a 
periodic hard-copy follow-up 
mailing of your listings. 

Programmers' Pipeline 
deals directly with software 
companies. They have no 
agents, commissions, or hid- 
den fees. The initial program 
listing service under one pro- 
gram category costs $20. Ad- 
ditional program categories 
cost $5 each. An optional 
blind-box service that re- 
ceives and forwards re- 
sponses to your program de- 
scription is available for an 
additional $10. 

If you'd like to see the Pro- 
grammers' Pipeline in action, 



call via modem: 213-516- 
9432. The system asks you 
for your first name; respond 
with Pipeline. It then prompts 
you for your subscriber num- 
ber; enter 80 Micro. It's that 
easy! 

For further details, contact 
Programmers' Pipeline, P.O. 
Box 666, Glendora, CA 
91740, 213-914-4317. As a 
bonus, if you mention 80 
Micro, you'll receive a free 
copy of Checklist for Program 
Authors. Merry Christmas! 

Reader Service ^ 573 

Blushing Computers 

Add vivid color to your 
Model I or UJ with CHRO- 
MAtrs, a color graphics 
peripheral from Micro Con- 
trol Systems Inc. (1590 
Broadway, Hewlett, NY 
11557). CHROMAtrs uses 71 
easy commands in addition 
to standard Bask commands 



to let you quickly plot points 
and lines, do 3-D rotations, 
translations, and create sprite 
graphics. 

CHROMAtrs offers you 
15 brilliant and distinct colors 
with which you create your 
own arcade-type games. It 
also lets you add joystick and 
paddle game action, as well 
as exciting sound effects. 

The peripheral attaches 
easily to your Model I or HI 
without affecting your Radio 
Shack warranty. Each unit 
costs $199 and comes com- 
plete with documentation. 
You can get more informa- 
tion from the Promotional 
Services Group at 516-781- 
0153. 

Reader Service * 578 

Sharing Your System 

Ball Technical Services 
now makes full multi-user ac- 
counting software for your 



Model 16 that lets you oper- 
ate up to three terminals si- 
multaneously with the same 
accounting program. The 
available programs (Accounts 
Receivable, Accounts Payable, 
General Ledger, Payroll, and 
Order Entry/Inventory Con- 
trol) all operate under the 
RM/COS multi-user operat- 
ing system. This lets you print 
from remote terminals. 

The programs have full 
record-locking capability. If 
a second operator requests a 
record that is being processed 
by someone else, it's flagged 
to say, "Wait, somebody's 
looking at the record." 

RM/COS requires 256K of 
RAM to support three users 
and an additional 63K for 
each added terminal. It is 
three times faster on your 
Model 16 than on any other 
multi-user operating sys- 



MODEL 12 

2 DISKS 
$3250.00 


DISK DRIVES 
COLOR DRIVE 
COLOR DRIVE 1 
5 MEG HARD DISK 


$310.00 

230.00 

1725.00 






12 MEG HARD DISK 


2699.00 




[ COMPUTERS 
| PC-2 POCKET $169.00 
i PC-3 POCKET 79.95 
MODEL 100 8K 675.00 
MODEL 100 24K 799.00 
MODEL IV 16K 845.00 
MODEL 16 128K 2D 4699 00 


PRINTERS 
OKI DATA 80 $299.00 
OKIDATA82A 365.00 
OKI DATA 83 A 569.00 
OKI DATA 84 960.00 
OKIDATA92P 439.00 
OKIDATA92S 505.00 


DMP-100 
DMP-120 
DMP-200 
DMP-400 
DMP-500 
DMP-2100 


$299.00 

399.00 

535.00 

999.00 

1159.00 

1750.00 


MODEL 3 to 4 UPGRADE KIT 699.00 
MICRO DESIGN 


GEMINI 10X 290.00 
GEMIN1 15 409.00 


CGP-115 
P.C. PLOT 


199.00 
175.00 


I UPGRADED MODEL 4 1479.00 


DAISY WHEEL II 


$1700.00 




64K COLOR COMPUTER 299.00 


DWP-410 


1050.00 






SILVER REED 


659.00 






ALL SOFTWARE 15% OFF 




MODEL 4 $1629.00 








! 64K 2 Disk RS232 


n^\r^rPW + 


*^%n 


n 


AMBUR SCREEN 


BODEX C 


a)R 


P- 


For Model 4 $89.00 


224 East Main St. Marlboro Mass. 


Phone 1 617 485 5115 




HOURS M-Fri. 10-9/Sat. 9:30-6 




or 481 1027 


Prices subject to change without notice 


UPS items shipped FREE! 




^38' 


Not responsible for typographic errors 


We can ship C.O.D. THS M „ . „. a . m „» ol Un6l CO rpo....©r. 



306 • 80 Micro, December 1983 



Now - Add External Monitors To Your Model HI 




Plugging in VIDEO MOO Ut» r c~ plug » your 
TV or awtra Monitor ror Big Straan Vwwing tni 

Ramot. D.lpl.y 

Gta»t addition lor ditpUying Mom* Gamat, Clati- 
room Instruction*, and pratantinq information at 

tfufin+fl nnaatlnql 

Standard (aaturai include: 

- Monitor and/or TV hookupt. 
• Fafl 64 character wioV tcraan display. 

- Worlci witti any program or opartttng ayitam. 

- No cutting or aoldaring laquired for installation 



EJB ELECTRONIC SYSTEMS 

2902 Eggert Road 
Tonawanda, N.Y. 14150 Ml,, of TfiiTallill 

(716) 837-9411 CompvHr Product. 



VIDEO MOD only $16995 
ship. O- handling $2.00 

NY residents NV ,,, 

7% sties tax 



a static y §*r 

MONSTER? $gh 

Static electricity is pfobaDly the most Vf* 
persistent problem faced by the average ," 
personal/micro-computer user Static can 
cause erratic or erroneous data transmis 
sion. loss of program, damage to discs 
and accessories and even computer 
component failure All this is costly annoy- 
ing and unnecessary 111 

The Static Control Computer Mat puts 

static protection at your fingertips where it 
belongs Simply touch the mat pefore 
touching the computer or any accessories 
and static is safely drained off to the mat 
and is sent hurrying off to ground before it 
can become a problem There is no ZAP or 
spark and by periodically touching the 
mat while operating the computer, you 
win remain static sate it is the effective 
economical approach tc static control in 
the home or oftice 

The Static Control 
Computer Mat. 



89.95 



Cfiac* M CO D 



DELTA ELECTRONICS, INC. 

Industrial Electronics Distributor 

174 Main St., Norwalk, CT 06851 

(203) 847-7285 



I 




m 






ORDERS CALL COLLECT 
PHONE LINES OPEN 24 HOURS 




MS* 



C.O.D. 




A COMPLETE PRO FOOTBALL PREDICTION PROGRAM 
FOR THE 1983 NFL SEASON— INCLUDING PLAYOFFS 

• * * • * 

"20 MIN DATA INPUT PER WEEK WILL GIVE YOU 
THE EDGE 



$OQ9S 



29 



- FEATURES - 

DISPLAYS PREDtCTEO SCO* 

DISPLAYS ACCUMUi -If. AM 

DlSPl^ TEAM 

HARDCOPY PRED - STATS - AVI 
AUTOMATIC OPPONENT INPUT 
AUTO STORE DATA - NO SAVE' 
UPDATFABIE FOR 1984 











INCLUDES: DISC 
DOCUMENT AT ION 




1 NAMF 




TRS-80 MODEL 1 / III 

IBM PC 

APPLE 

REQUIRES 32K 




1 ADDRESS 








1 CITY ST 7IP 

1 PIK'EM 29 9S □ STAT SER 35°° □ 
1 Ml □ Mill □ APPLE D IBMPC □ 
VISA □ MCD PAY ENC D 


*STA 
PRO 
LOC 

MAP 

NEC 


TISTICS NEEDED TO RUN T 
CRAM ARE AVAIIABIf 
AL NEWSPAPERS 

OR. 
ATMON WILL FURNISH 
ESSARY STATS IN AN EASY 


HIS 

IN 

ALL 
TO 


1 1 1 1 1 1 1 1 




M M i 


READ ONE PACE FORMAT FOR 19 


| CARD IXPIKIs 


LLJ 




WEI 
STAT 


KS. 


5* 



IF PROGRAM IS BOUGHT AFTER 
SEASON STARTS - ALL PREVIOUS 
STATS NECESSARY TO UPDATE Will 
BE INCLUDED — NO CHARGE. 



* See Ust of Advertisers on Page 291 



OTHER PROGRAMS 

• PIK'EM 198-J M )K 
HOME BUDCET PLANNER 
• LETTER WRITER • 



Marathon Software Dept M 

P. O. Box 1 349 
Jacksonville, Texas 75766 
Phone (214) 586-8212 ~Hi 

80 Micro, December 1983 • 307 







ii 2 * 

NDN: 

MODEL 1. B, and 4 CDMPRHBLEJ! 
CP/M 2.2 and3.BCOHPRTIBLE!! 

5DDN = 

IBM M5-00S and DVH-B6 CDHtiTIBILrXY! ! 

PLUS add up to 1 Megabyte of RAMI ! 

High Speed RRHDISK is coning! 

5Y5TEM5 START AT *1999 

Includes: LNHBB-2+, Hi -Res Green Monitor. One 

DisK Drive, CP/M 2.2. DQ5PLU5, Microtern, 

Electric Pencil. Electric Spreadsheet. Chartex, 

and the LNU 5nal I Business and Professional 

Accounting Softiare Series. 

CALL U5 FOR THE BEST PRICES AVAILABLE 
IN STOCK NOW! Ready for innediate delivery! 

EXCELLONIX 

C714J 973-1939 H C213) 650-5754 - 267 



NEW PRODUCTS 



D»o«o»ooo»a»a«a»a»a»o«oa»oa»a»a»oc)»a»a»D»Q»D»D»a»D»a»D»D»ooa»Q» 



FREE 5 MEG HARD DRIVE 



from 



Alt. Qltfmpws 




Just purchase one of our integrated software pack- 
ages at our low price of $2495. and we will install it on 
a 5 Meg hard drive ready to plug in and go. Now avail- 
able for the TRS-80 Mod HI/4 and soon IBM- PC. Over 
30 types of businesses and professions supported. We 
also carry Local area and multiplexed networks. Call 
or write for our current list of applications. 

CALL 203-828-0359 



869 Mill Street 

E. Berlin, CT 06023 



Dealer inquiries invited 



tem — with half the memory. 
And it's IS times faster than 
TRSDOS. 

You can update existing in- 
stallations of Radio Shack's 
three-disk accounting pro- 
grams (26-4601, 26-4603, 26- 
4604, 26-4605, and 26-4607) 
to the multi-user RM/COS 
version for $300 per program. 
Or buy RM/COS separately 
for $750, with each program 
costing $599, or purchase 
RM/COS with all five ac- 
counting programs and Sales 
Analysis for $3,150. 

For additional informa- 
tion, contact Ball Technical 
Services, 211 North First St., 
Mt. Vernon, WA 98273, 800- 
426-2070, 800-545-6244 (WA), 
206-336^605 (Canada). 

Reader Service »-* 576 

Yo, Ho, Ho and a 
Bottle of Rum 

Dancing Sailors is the 
dual-pen version of the 
DMP-40 plotter from Hous- 
ton Instruments. It enables 
you to generate two-color 
plots or plots using different 
line widths without having to 
intervene. A simple command 
directs the plotter to place the 
alternate pen in plotting posi- 
tion. Since both pens are car- 
riage mounted, pen changes 
are fast and easy. 

The DMP-40-2 plotter 
costs $895 from Houston In- 
struments, 8500 Cameron 
Road, Austin, TX 78753, 
512-835-0900, 800-531-5479. 
Both RS-232 and Centronics 



parallel versions are avail- 
able. 
Reader Service s 581 

Let's Draw 

Creative-Art is an ad- 
vanced utility to design 
graphics on your Model III. 
The program has over 25 
commands to let you draw 
circles, lines between points, 
rectangles, frames, and a sin- 
gle-key screen invert. Other 
commands include filling in 
and erasing parts of the 
screen, storing the screen in 
one of five pages of memory 
and displaying them later. 

The program also handles 
text. An alphanumeric mode 
lets you place text anywhere 
on the screen. This is helpful 
when you generate reports 
and graphs. You can store 
screens on either cassette or 
disk. The package includes a 
sample program to retrieve 
the screen from disk or cas- 
sette for use with your own 
program. 

Creative-Art is available 
for the Model III for 16K, 
32K, and 48K cassette sys- 
tems, and for 32K and 48K 
disk systems. Both the 32K 
and 48K versions store more 
pages and handle more points. 
All versions cost $30 for cas- 
sette and $40 for disk. Con- 
tact Creative Software Enter- 
prises, Route 1, Box 222-A, 
Ana, IL 62906, 618-833- 
7797. All registered owners 
receive free updates for one 
year. 

Reader Service • 577 




77k Dancing Sailors Plotter gives you two-color plots. 



308 • 80 Micro, December 1983 




SuperSCRIKITc insert pgs for Mod III disk explains/ 
expands training manual; ALSO combines reference 

manual info. Includes chart $14.00 

Profile III Plus* 106 insert pgs for Mod III manual, 
plain English explanations/examples. 2 16x22 charts 
show where you're going . $14.00 

General Ledger insert pgs for Mod III Disk Manual. 
Tells HOW accounts interact and produce state- 
ments. 19x25 2-color wall chart shows Cycle. P&L, 

Balance Sheet. Terms $14.00 

THEORY Section of CL above Whys, How Comes of 
CL. 20 pages of pure Gen Ledger Theory $5.00 

• * * 2-COLOR 19*25 COMMAND WALl CHARTS " • 
Super SCRIPSIT* commands with explanations and 
tips in highly visible form . . $4.00 

VMCalcC ALL commands at a glance $4.00 

GL Mod III Disk helps grasp cycle, terms, P&L & Bal 

Sheet (index for manual) $4.00 

BASIC* most often used Mod III Disk com- 
mands with details, samples, examples . $4.00 
Plus Command* used to set up files, screens, reports, 
labels of Profile III Plus' $4.00 
I • Copyright* of Tandy or VMCorp or Microsoft 



Send cash, check, money order to: 

CREST SOFTWARE ^ 

2132 Crestview. Suite »6 • Durango. CO 81301 

(303) 247-9518 

V iw MC ac i cpied. in< lude card ■ and expiration dan- 

(Add $2.00 Shipping — We use UPS) 



Re-ink any fabric ribbon for 
less than 5*. Extremely simple 
operation. We have a MAC 
INKER for any printer. 
Lubricant ink safe for dot 
matrix printheads. Multi- 
colored inks, uninked 
cartridges available. Ask for 
brochure. Thousands of 
satisfied customers. 

154" + 



Mac Switch lets yon share 
your computer with any two 
peripherals (serial or 
parallel). Ideal for word 
processors — never type an 
address twice. Ask us for 
brochure with tips on how to 
share two peripherals with 
MAC SWITCH. Total 
satisfaction or full refund. 

19900 




Computer 



npui 
nds 



Mac Inker Fn< 
& MacSwitch 



100 N.W. 86th Ave. 
Portland, OR 97229 
503/297-2321 



Do your own taxes like an expert 
with TAX/SAVER! 



TAX/SAVER® The tax help program 
for the layman and the professional. 

• Privacy. 

• Built-in tax aids. Answers questions like "Is my father my 
dependent?" and "Are my deductions reasonable?" 

• Tax regulations programmed in by our team of accountants. 
Type in your figures and you've done your own tax return. 

• Output to video or printer. (Compatible with overlays or NELCO 
official 1040.) 

• Tax deductible. 

• Manual: Tax information, lists of deductions, tax glossary. 

• TAX/SAVER® completes long and short forms, itemized 
deductions, interest, dividends, business income, capital gains, 
income averaging, self-employment tax, and the deduction for 
couples when both work. 

• 40% Discount on yearly updates. 

Reviews and Users' Comments: 

About TAX SAVER*: 

"This is a very valuable tool" — R. Perry. Person.il Computing Magazine. 

"Tax Preparation Software". December 1981 

"This is the perfect program for those doing taxes for others (. . .good for an 
individual, too!!) — B.M.. Missoula, MT (Professional Preparer) 

About TAX FORECASTER": 

"VERY HANDY!" — T Pettibone. Software Critic", 1982 



TAX/FORECASTER", a quick fax planner for 1983 1984, lets 
you see how financial decisions will affect your taxes. Merely 
change one or more entries to see your tax refigured. 

PROFESSIONAL TAX/ FORECASTER" adds disk storage of 
client dies and income averaging This tax tool is a must! 

Orders will be filled in late January to allow inclusion of new tax laws. 

TO ORDER: 



"Copyright '.<«J 



*Kegi»vr»"d IraderrwrK ol Tandy Corp 



Call collect 203-968-0933 or mail this coupon to: 
Micromattc Programming Co. 
Cedar Corners Station, P.O. Box 16735 "M 

Stamford, CT 06905 

Please enroll me in member's service and send: 

D TAX. SAVER* (a- $149.95 Manual Included 

□ TAX FORECASTER" <S $69.95 

D PROFESSIONAL TAX FORECASTER" 
a $99.95 (requires 48K) 
($15. off any TAX FORECASTER" with TAX SAVER') 
D Tax Form Overlays (set of 6i @ $39 95 
Add $3.50 i"i pottage -ino handing, CI residents add 7-. saWs, iax. 

□ Please send me more information 
Please check one 

TRS 80* Model I □ 32K. 2 drives □ 48K. 2 drives 
TRS 80* Model HI D 32K. 2 drives D 48K. 2 drives 

Name 











.. Slate 


/.p 


□ Check 
Card No 


n Master Card Zj Visa 


\- xp rifltp 



^ SmUst ol Advertisers on Pmgw 291 



80 Micro, December 1983 • 309 



DISKETTES 

Imaxi 



i.HHiiiiim 



95 ll/DD 
I SOFT SECTOR 

-r. SV «" 

aO DS/DD 

I SOFT SECTOR 



IIOUU IV (ilMIt HMl 



'VERBATIM •qftiect. 83." 



fMEMOREX 



• OPT IICT. 83.' 



'Add SS* 00 H * ndlin » ' n USA 

^£ C.O.D. 4S 

5 Q /o Tax in Fin. Only 

APO/Bdx No's & Canada 

Add 3. BO Shipping 

MEGA gj WJ£ 

• I N o ultf I I S V 

4699 S.Mf. 4Bth Straat 

Ft Laudtrdalt, Florida 3331 4 

30S-SB7-1 1 30 



1BOO-327-1Q1 3 



Oat ■ 
Library Cass 
With Es.Box 

or 



<}nA* 



S*l.ao 



■ SaT PRICE — -7. ., r- 



maxell 



Buy 5 to 9 Boxes 



•laatic Storage ^\m£/b 

Flip n File Box y^jl 

■Ida 78 Mini OlakaJ 0*/*M 

■ l!?r o fe OFF , A LL 



U 6< 



maxell 



>t a 

Complete 

Computer 

laintamnoa Kit 

or 

^a im o fc.oFF 



Clad inytln 






• 199 



Ultra Ouiet 




Computer 
Protection 

KLEEN 

LINE* 

CONDITIONER 



Prevents: 

• ( omptiter Damage 

• Univ. mint Interruptions 



• Lightning Spike Damage 

• Disruptive Line .Noise 

• Program Errors 



Regulator • Filter • Suppressor 

KLR-250A 250 Watt Load $291.95 

KLR-250A-1S0 250 Watt Load; Patented 

Filter Isolated Sockets $346.95 

KLK500A 500 Watt Load $390.95 

KLR-500A-1 SO 500 Watt l-oad; Patented 

Kilter Isolated Sockets $445.95 

Shipping: $12.75 Land; $45.50 Air 

Ask Your Local Dealer 

£E7* Electronic Specialists, Inc. 

1 7 1 South Main Street. Box 389. Natlck. Massachusetts 1 780 



Toll Free Order Desk 1 -800-225-4876 
MasterCard. VISA American Express 






NEW PRODUCTS 



310 • 80 Micro, December 1983 



No More Headaches 

Solve your complex prob- 
lems with Brainstormer, a 
powerful software program 
that helps generate potential 
solutions. The program works 
by building a description of a 
problem in terms of the themes 
and variations which affect 
its solution. Brainstormer an- 
alyzes the description of the 
problem to generate ideas for 
potential solutions. You re- 
fine the process by control- 
ling the occurrence of par- 
ticular themes and variations 
until the program produces a 
sufficient quantity of poten- 
tial solution strategies. Brain- 
stormer generates up to 10 
billion idea probes for any 
user-specified problem. 

Some potential applica- 
tions for Brainstormer in- 
clude increasing flexible 
thinking, discovering new 
products, targeting new mar- 
kets, and exploring organiza- 
tional problems. Brainstorm- 
er is available for Models I, 
III, and 4. It costs $50 for a 
single machine, $100 for 2-10 
machines used by a single or- 
ganization. For information, 
contact Soft Path Systems, 
c/o Cheshire House, 105 
North Adams, Eugene, OR 
97402, 503-342-3439. 

Reader Service • 567 

Video Upgrade 

Expand the video display 
on your Model III to 24 lines 
by 80 characters with Holmes 
VID-80 video upgrade. It is a 
plug-in printed circuit board 
that not only expands your 
display to 24 by 80 but that 
also lets you use the CP/M 
2.2 operating system. 

VID-80 features include 
56K of user memory (64K 
RAM), the ability to read and 
write numerous disk formats, 
8-inch drive support, CP/M 
compatibility, and UCSD 
P-system compatibility. 

The VID-80 board retails 
for $279.50, and the CP/M 
2.2 operating system sells for 
an additional $120. Other op- 



tions, such as an additional 
64K of memory (112K total) 
and the CP/M 3.0 operating 
system are also available. The 
board requires no trace cuts 
or soldering for installation. 
For further information, con- 
tact Holmes Engineering at 
5175 Green Pine Drive, Mur- 
ray, UT 84107, 801-261-5652. 
Reader Service ** 552 

New Vision 

Get rid of your screen's 
glare and see what you're 
programming or writing with 
Panelgraphic's Video Filters. 
Treated with an anti-glare 
coating, the filters make a 
dramatic improvement in the 
readability of your computer 
screen. Characters boldly 
stand out on a professional- 
looking dark background 
without reflection. 

The filters are easy to in- 
stall with self -adhering tabs. 
They cost $19.85 each from 
Panelgraphic Corp., 10 Hen- 
derson Drive, West Caldwell, 
NJ 07006, 800-222-4617, 201- 
227-1500. Major credit cards 
are accepted for large orders. 

Reader Service s 570 

Terminal Emulator 
Program 

All you Models II, 12, and 
16 owners can now commu- 
nicate with Digital Equip- 
ment Corporation (DEC) 
host mainframes over asyn- 
chronous (dial-up) lines with 
the VT52 Terminal Emulator 
program. The emulator sup- 
ports all VT52 features and 
permits the use of any pro- 
gram requiring full-screen 
cursor control. 

Common applications in- 
clude interactive full-screen 
text editing, electronic mail, 
and the more sophisticated 
games. The emulator func- 
tions as a normal dumb ter- 
minal when communicating 
with non-DEC hosts. 

The VT52 Emulator costs 
$175, including a User's 
Manual and a keypad editing 




FINGER PRINT is a plug-in module 
that lets you instantly select 10* 
special print functions at your fingertips. 
Tap your printer's panel buttons to 
instantly select the functions you need. 
But, seeing is believing... 



IvJ 



■ant to use cospressed to get *ore coiutns on your spreadsheet" vou got it' 
<s? crl «^A crl O Ul fcj X <EH? — Wl Cll €=? t~i e? «ee* cri i r~i <Zf r P" EZ <=». 1 
Want to emphasize print on your final draft? No sweat 

I" j | e (j Cl f p | - 1 n t A p g o n t h e p e r f o r a fc i o n ? 



V 



With automatic: perforation ski paver, it. doesn't happen' 
W ant to a s e j. t a 1 i «:: i- t o m ake a paragraph stand oat ? S imp i e ' 

Ne.d Fin« Print tor s contract or lootnotn on a r.port? With Flngarprint juat tap the button*' 

Even combinations like double emphasized italics are no problem/ 

That's just a sample of how FINGER PRINT turns your Epson MX 80/100 or IBM 
PC printer into a hard working printer.. .and FINGER PRINT has Buffer Clear and Left 
Margin Control, too! 

FINGER PRINT will not interfere with normal printer operation. ..and installs 
easily, without soldering. It comes with complete operating/installation instructions, 
control panel reference label, and it's WARRANTED FOR 1 FULL YEAR. 

*For Graftrax-Plus equipped printers. Italics and Fine Print cannot be selected on non-Graftrax-Plus models. 



$59.95 Look for FINGER PRINT at your 
local computer dealer. For the name of a 
dealer near you, or additional information, 
call (213) 914-5831. To order directly, 
call toll free: 800-835-2246, Ext. 441. MC/ 
Visa/COD orders accepted (include $1.50 
s/h...CA residents add sales tax). 

We welcome dealer inquiries 




FINGER 

PRINT 

DRESSELHAUS COMPUTER 

PRODUCTS 

We make technology easy to live with. 

837 E. Alosta Ave. Glendora,CA91740 



* See List of Advertisers on Page 291 



80 Micro, December 1983 • 311 




THE SOFTCORE 
SOFTWARE CO. 

9 Soulhmoo' Circle. Kettering, OH 45429 



"TOO MUCH" 
FOR 



=1 RADIO SHACK! 



Radio Shack REFUSED to 
include MISADVENTURE 
*1 in their SOURCEBOOK 
due to our description of 
the game! 



#0201 Misadventure #1 [Madam Rosa's Massage Parlor] 
#0202 Misadventure #2 [Wet T-Shirt Contest] 
'#0203 Misadventure #3 [Sewers of Moscow] 
'#0204 Misadventure #4 [Casino of Pleasure] 
#0301 Donne' Bugg [Adventure-decoder] 
'#0401 Mystery Of The Keys [COLOR computer only] 

•With Sound 

Our MISADVENTURE SERIES consist o( CHALLENGING and FUN 
adventure-type" programs that may occasionally be a bit naughty! 

MYSTERY OF THE KEYS for the color computer is a graphic puzzle as 
addicting as "The Cube" and similar to "The Link" 4k and up 

IN MISADVENTURE #1 the player has to make his way from the sleazy 
deserted WHARFS, gain admittance to the ancient SPEAKEASY, and 
attempt to discover the hidden photographs of the politician's beautiful 
daughter 1 Brave the deadly alleys, hallways, and traps. Avoid the 
BOUNCER and the other characters of questionable reputation! Play in 
the rigged CARD GAME if you dare! Discover why the old man died with 
a smile on his face! Find out why the WINO prefers cheap booze! Above 
all. try to escape without needing any iniections of penicillin! ! ! 

DOHNE' BUGG is our best-selling ADVENTURE-DECODER! Are you 
STUCK in a machine-language ADVENTURE GAME' This program will 
display on the screen all VERBS that interact in the game, all 
LOCATIONS & OBJECTS you will find, and all ACTIONS that result! A 
MUST FOR THE SERIOUS ADVENTURER! Note: will not work on Model 
III disk systems! 

All programs (except H0401) work on 16k MODEL I & III. * 379 

S15 EACH — we pay postage! 

Immediate shipment! Check, credit cants, or phone otter [12-4 p.m.] 
Dealers and Distributors welcome— please inquire. Hint Sheets Available! 



Service, Selection, & Price! 

Nobody beats us on Computer Systems. 



TRS-80 Model 4 Super Business System 

System Includes: 

• Model 4 64K 

• 2 Disk Drives 

• Okidata 92 Printer 

• Super Scripsit & 
Printer Driver 

• Profile Plus 

• Printer Cable 

• Printer Stand 

• Lemon Surge 
Protector 

• Computer Dust Cover 

• Printer Dust Cover 



NEW PRODUCTS 




• 3200 Sheets Fan Fold Pape 

• Box of 3M Diskettes - . 

• 3M Head Cleaner UMy 



List Price $3489 
$ 



2788 




SPECIAL HOLIDAY 
PRICES ON 

Color Computer, 
Model 1 0O, 
Printers for your TRS-80 
Accessories and Software. 

In Stock for Holiday Delivery! 

These are a sample of the computers & accessories we 
have in stock, ready to ship Don't give up service and 
selection — call us. The only thing we discount is price. 



ORDER TOLL FREE: 800-526-5313 
COMPUTER DISCOUNT OF AMERICA. INC. 
15 Marshall Hill Road. West Milford Mall 
West Milford. New Jersey 07480-219 
In New Jersey Call 201-728-8080 ^133 




template. It is available from 
IMPACC Associates, P.O. 
Box 93, Gwynedd Valley, PA 
19437, 215-699-7235. 
Reader Service * 582 

Get Rid of the Surge 

The SL Protector from 
Transtector Systems (East 
5250 Sehice Way, P.O. Box 
1299, Post Falls, ID 83854, 
80O435-2537, 208-773-1521) 
is a transient overvokage pro- 
tection device designed spe- 
cifically for personal com- 
puters. 

Measuring approximately 
3 cubic inches, the SL Protec- 
tor plugs directly into any 
standard 110- volt outlet and 
accepts all standard, three- 
prong plugs. It automatically 
cleans incoming electrical 
power lines of overvoltage 
transients and spikes, pro- 
tecting your computer's sol- 
id-state components from 
damage. The unit responds to 
a transient in five billionths 
of a second, and features an 
instant reset to provide con- 
tinuous protection. 

The SL plug is UL listed, 
sells for S99, and comes with 
a 90-day replacement war- 
ranty. 

Reader Service * 553 

Computer 

Carrying Case 

There's no need to be 
afraid to take your computer 
with you on your next busi- 
ness trip as long as it is safely 
packed away in one of the 
computer carrying cases from 



Cases Inc. They offer two 
hardware cases, the Flight 
Form and the C-Series case. 

The Flight Form case is 
made of high-impact ABS 
plastic laminated to plywood. 
The outer panels of the case 
are slotted to lock into ex- 
truded aluminum tracking, 
forming a protective cage 
around your computer. The 
corners are finished with 
riveted steel for maximum 
strength. This case is de- 
signed to withstand the most 
rigorous handling. It could 
probably survive the famous 
baggage gorilla. 

The C-Series case is de- 
signed for easy handling and 
convenience. It's made of 
Philippine mahogany cov- 
ered with a tough vinyl outer 
lining. It provides your com- 
puter with protection in less 
demanding traveling or ship- 
ping environments. 

Both cases feature form- 
fitted foam lined interiors 
and track mounts to hold 
equipment securely in place. 
They also accommodate 
books, papers, and software 
for your computer and you 
can specify custom interior 
configurations. 

The C-Series is available in 
either black or brown. Prices 
start at $120. The Flight Line 
cases come in white, black, 
and royal blue. It costs $284 
for the Model III, $318 for 
the Model II, and $331 for 
the Model 12. Accessories in- 
clude special clasps, strap- 
ping, and even custom print- 

Conlinued on p. 316 




The Flight Form case: Now there's no excuse not to take your computer with 
you on your next trip. 



312 • 80 Micro, December 1983 




Computer Shopper pages aren't sticK because they 
were designed tor one purpose, to put buyers in 
touch with sellers at the lowest possible cost This 
resulted in bargains on new and used equipment and 
software 

Individuals nationwide are able to list their pre- 
owned items tor onfy a few dollars This created hun- 
dreds of classified ads in over 100 big 1 1x14 pages 

And to make sure there were enough buyers for 
advertisers, the subscription price was set low too* 

So strike your first deal by taking advantage ol 
the low subscription price. 12 issues for $15 That's 
a $8 40 discount off the newsstand pnce Money 
back guarantee For latter service (MasterCard and 
VISA) Call 305-269-3211. -39 

camPureR shoppbr 

407 S. Washington Ave. • P.O. Box F587 
Titusville, FL 32781 



VITAMIN and 

MINERAL DEFICIENCY 

CHART 

Your coaputer **l enekjic your xwri To W quntions 
conct'runq your body and then prrit a chart anoemo, probata! 
drfe*nc«i of 33 vttaara and anerah, pkit protm and fat 
Buck queatiorii at. Do your ryfi hurt erien you go out into 
tha tun'' It your hair beginning to gray? Do you sleep ill 7 
ate rtc ) 

Coan complete arth 58 quntemarat. 58 Want Nutrrtonw 
progren forat. nttructom on c oapletinq tha Nutritional 
foraa froa your coaputer gancratad chart, and an aretllent 
mttruction aanuai and a 5 1/1 inch drt* Trat prograa ceo put 
you into a buimeai of your oan aatng nutritional p-ograat 



• >. II HUH 



l"S TRDNII. CHLIF. 93SS2 



rCR H0CG.5 I/III/H HBK B19 372-5355 

coil dm hcwy owns $ 8 9 . 5 D 

FFE PUSH OROCRS ,. 140 



TRS-80 III / IV 

• BOOKKEEPER • 

Perfect For Small Business 
TIME DOME Has Preloaded File 

• SCRIPSIT MAILER • 

LETTERS - ENVELOPES - LA8ELS 
made by Scripsit 

• SERVICE BILLER * 

Bill By Rate Chart 
From To Date 

• BOOKKEEPING • 

MACHINE 

Printed LEDGERS STATEMENTS 
1400 Accounts Receivable 

$34.50 EACH PROGRAM 

(714) 774 9383 

M A K WORKSHOP 

9791 ORANGE AVE 

ANAHEIM. CA 92804 ^ 




DISK BACKUP 

ONE MEGABYTE ON A C-60 

MODELS I or III 

includes Disk to On* Copy 

Auto Mued Dansity Recognition 

Supports most DouWe Density Boards 

Conhgorauon Mode For Your System 

Hassic Free Cassette Recorder Opereton 

Sat Volume Control to Maaimom and Forget It 

Tape Oieks at CompuUr Ooc« Speeds to 4 MHZ 

Auto Retrieval o> Tapad Owk with Formatting 

W* Backup Moat Popular Dot Made D-sks 

Includes Cattetta Recorder Controller 

Power Supply, Computer R*bon Cable D.sk & Menu* 

Minimum Requirements Model i or III Computer 

One Onve. Recorder with Cable. 32K of Memory 

NEW PRICES 

Bata-DTS Mdl I S 109 96 & S 3 50 H/S 

Bata-DTS Mdl III $1 13 95 & $3 50 H/S 

S*nd tor Ira* copy ol manual, "Reduced Size'" 

BETA ENTERPRISES INC. 

14049 Settlement Acres Drive 

Cleveland. Ohio 441 42 

(216)362-6191 " 25 



INVESTMENT SOFTWARE 



PORTFOLIO MANAGEMENT SYSTEM 

ideal lor trie private investor Keeps trac* ol 
up lo 200 stocks 100 options. 100 mutual 
Hind*, and 100 bonds Produces a 
comprehensive portfolio breakdown and 
printed portfolio summary $29 95 

Investment Club Management System 

The perfect system tor private investment 
clubs Handles an current club holdings, 
including up to 50 members 1 accounts 
200 slocks 100 options 100 mutual ' 
and 100 bonds Produces complete reports 
including a portfolio summary, single member 
status member listing and overall club profif 
summary $69 95 

Both programs are '00% machine language 
and require a 48K MOO i/ili/IV 2 disk drives 
and any 80 column printer Specify compute' 
and printer type when ordering 



RENRAD SYSTEMS - 24 « 

3205 MESA OR OCEANSIDE CA 92054 

i619| 721-6783 

Casn check or money order Add $2 50 

for postage and handling COO add 

S3 OO extra CA residents add 6% tax 



O Dyson 

•^CORPORATION 



Solve your dax problems, bte, 100% eurie«* 
teated Dyaan daakanee. Ml order. ehepewd 
from mock. wMhln 24 hour* Call toll FREf 
(WW) 235-4137 for prices and trdormaoon 
Vfea and Master Card accepted 




PACIFIC 
EXCHANGES 

100 Foothill Blvd 
ban Luis Obispo. CA 
93401 (In Cal call 
(805)543-1037) 



^207 



R.I.S.T. Inc. ANNOUNCES 

SPEECH 
SYNTHESIZER 

<SALE> 



$59 



FREE 



hi ea rwi r-owin 



rrct' 



P*W.l\f f I 

h s». 



TRS80 Model* I. Ill 

Apple II, II' 

ZX80/81 TS1000 

Com 64. VIC 20 

Regularly S89. 95 
Now Only S59.9S 

Complete or Starter 

Kits Available 



10 Day Money-Back (iuaraniee " " • 
Sendcheo or M O <"OOadd$l SOlo R I S T Inc 
210 3 PO Bo. 499 Ft Hamilton Station 
Broomyn NV 11209 ?l?-2S9-4934 ^388 

NYS RESIDENTS ADD S .*» TAX 




ATTENTION DEALERS! 

RS-232 BOARD FOR TRS-80 

MODEL 3 or 4 



Functionally equivalent to the Radio 
Shack RS-232 Board. Meets E1A RS- 
232C specifications. Programmable 
baud rate from 50 to 19,200 baud. 
Programmable parity. Word length 
and stop bits. Full or half duplex oper- 
ation. 

mimACE (303) 794-2074 

TECHNOLOGY inc 
5994 South SL Paul Way 
Littleton, CO 80121 

Volume discounts 
available. 



One year 
warranty. 




TRS-80 

COMPUTER 
DISCOUNTS 



• Factory Direct 

• Best Prices Anywhere 

• No Out-of-State Taxes 

• 100% Radio Shack Warranty 

• Free Price List 

SCOTT TASSO 
ASSOCIATES 

175 E North Delsea Drive 
Vineland, N J. 08360 
800-257-0426 
NJ 609-691-7100 -510 



* Sew Usl ol AoVarr/savs on Page 291 



80 Micro, December 1983 • 313 



MODEL 4 DRIVE KITS $299 



MODEL 4 STUFF 
MODEL 4 COMPUTERS 

all include an RS232 

No charge for shipping on any Compuklt Computers 

64K one single headed drive J7495. 

64K two single headed drives Jt695. 

64K two double headed drives $1895. 

128K aystems add only $99. 



MODEL 4 64K UPGRADE $62.95 
64K TO 128K UPGRADE $82.95 

prima grade pre-tested RAM with instructions 



MODEL 4/III RS232 KIT $69.95 

completed and teated reedy for installation 



Model I, III, 4 green phosphor 
antiglare CRT Kit $89. 



a complete new CRT, not a filter 



MODEL 4 DISK DRIVE 
UPGRADE KITS 

All of the Compuklt Modal 4 Disk Drive Upgrade Kits 
contain these features that other companies usually do 
not provide. Switching power supplies * Tandon dlak 
drives * 64K of Modal 4 RAM * Sound * and an Eaay to 
Use Installation Manual. Requires only a screwdriver (no 
soldering) The no drive upgrade 

kit $299. 

One drive upgrade kit $499. 

Two drive upgrade kit $699. 

Two double headed drive kit $899. 

MODEL III to MODEL 4 
UPGRADE $750. 

Converts your Modal III Into a Modal 4 (except for 
Cabinet and dlak drives). Includes new keyboard, 64K 
RAM, Sound, and tree installation (required). Ship ua any 
working Modal III, even if It's not all factory equipment, 
andge^ack^JJodeMJnyourcaaa^^^^^^^^^ 

MODEL 4 SOUND UPGRADE 
$29.95 

No soldering required. Include* instructions 

COMPUKIT DOCTOR $29.95 
Disk baaed diagnostic software package for the Model I, 
III, and 4 



MODEL III DISK DRIVE 
UPGRADE KITS 

All of the Compuklt Modal 3 Dlak Drive Upgrade Kite 
contain these features that other companies usually do 
not provide. Switching power supplies * Tandon dlak 
drives * 32K of Modal III RAM * Compuklt Doctor * and 
an Eaay to Uaa installation Manual. Requires only a 
screwdriver (no soldering). 

The no drive upgrade $279. 

One drive upgrade kit $47g. 

Two drive upgrade kit $579. 

Two double headed drive kit $879. 

TANDON DISK DRIVES 

Perfect for replacement or add on drive for Any 5" drive 
system. 

TM100-1 40 Track Single Sided $199. 

TM1 00-2 40 Track Double Sided $299. 

TM50-1 20ms trk-trk Single Sided Thlnline $149. 

TM50-1 6ms trk-trk Single Sided Thlnline $169. 

TM50-2 6ms trk-trk Double Sided Thlnline $219. 

T M55-2 microprocessor Double Sided Thinline $249. 

Single case with extenders with drive above $49.95 

Dual caaa with extenders for drives above $79.95 

Two Drive Cable $24.95 



64K COCO KIT $62.95 



COCO DRIVE O 
$379. 

with a Tandon Thinline 

SPECIAL INTRODUCTORY PRICE 

DUAL DRIVES $529. 




COMPUKIT CORPORATION 



w dartwg l aj a aajajtoe 

We eaeajl VIm, — a—A Win Tranatora, and CsftNtod Checks tor qrtcHw l 

sNppina, Ordars received on perftoftat checks arc haM tor ctoaranca. 

314 • 30 Micro, December 1983 



1713-480-6000 order line 1-800-231-6671 
16206D Hickory Knoll, Houston, Texas 77565 



COMPLETE MODEL lll/IV 
HARD DRIVE $1095. 



COMPLETE PRIMARY DRIVES 
MODEL III & IV 

5 MEG $1095. 
10 MEG $1395. 
15 MEG $1695. 

MODEL I & LNW 

5 MEG $1145. 
10 MEG $1445. 
15 MEG $1745. 



*fi 



COMPLETE SYSTEM FEATURES 

TANDON DISK DRIVES 

WESTERN DIGITAL 1002 DRIVE CONTROLLER 

ONE YEAR WARRANTY 

SWITCH SELECTABLE HOST 

POWER ONE HD POWER SUPPLY 

HD COOLING FAN 

SIZE 8 1/4"X6V2"X13" 

ALL DRIVES RATED AFTER FORMAT 

COMPLETE READY TO PLUG IN (JUST ADD YOUR DOS) 

SUPPORTS NEWDOS 80 V2.5, DOSPLUS 3.4f, 4.0, 3.5, IV, LDO 

and soon TRSDOS 6.0 

SECONDARY DRIVES 

5 MEG $695. 
10 MEG $995. 
15 MEG $1295. 

(READY TO PLUG INTO YOUR PRIMARY DRIVE) 



33 MEG MODEL PRIMARY 

HARD DRIVE (BY QUANTUM) $2395 

MODEL I & LNW $2445. 



NEW PRODUCTS 

READY FALL 83 CALL ON AVAILABILITY 

21 MEG TAPE $649. 

Will Work on any Hard Drive System That uses DOSPLUS or NEWDOS 

MODEL 3/4 BOOT ROM $39.95 

ALLOWS YOU TO BOOT DIRECTLY FROM YOUR HARD DRIVE 
FOR DOSPLUS and NEWDOS SYSTEMS ONLY 

MULTIPLEXER $995. 

ALLOWS UP TO 4 COMPUTERS TO ACCESS A HDS HARD DRIVE 

Includes Master Control Unit and Cable I Host Adapters tor externally 
connecting 2 Computers 




HARD DRIVE SPECIALIST a «»**■ of Compuklt Corporation 



1-800231 6671 

s See List of Advertisers on Page 291 



1-71 3480-6000 



16206D Hickory Knoll Houston, Texas 77059 *m 

80 Micro, December 1983 • 315 




The Perfect 

Companion 

For Your 

New Portable Computer 

There's a new and exciting computer on the block — Radio Shack's 
TRS-80* Model 100 Portable Computer It promises to be one of the 
most significant advances in personal computing of the 1980s 1 

And. now, there's a new and just-as-exciting magazine specifically 
devoted to your Portable Computer It is called PCM— Th« Portable 
Computing Magazine, and it is published by the same people who bring 
you the most popular Color Computer magazine In the world — the 
Rainbow 

PCM— The Portable Computing Magazine sells for S3 per copy and 
S28 a year by subscription If. after seeing your first issue, you find it is 
not for you. just let us know We'll happily, cheerfully and immediately 
refund your entire subscription payment We're that confident that you'll 
love PCM After all. it is The Portable Computing Magazine! 



PCM 



THE PORTABLE COMPUTING MAGAZINE 



9529 U.S. Highway 42 

P.O. Box 209 

Prospect. KY 40059 

(502) 228-4492 

YES! Sign me up for a year 1 1 2 issues) of PCM— The Portable Computing 
Magazine 

Name 

Address 

City 



Stale 



O Payment Enclosed 
Charge □ VISA 

Account » 

Signature 



Zip 



□ MasterCard □ American Express 

Interbank » (MC only) 

Card Expiration Date _ 



Subscriptions lo PCM— Th* Portabt* Computing Magaim* are $28 a year in 
me Un.ied Slates Canadian and Mencan rate is S35U S Surtacerateeisewnere 
S64 U S Air mail S85 US All subscriptions begin with the current issue Please 
allow f>-6 weeks lor lirsl copy „ 

►'296 



FREE 

business software 
directory 

Radio Shack's Model 1, 2, 3 & 16 

CPM: Xerox, Alto... 

IBM Personal Computer & compatibles 



"(DBMS) is GREAT!" 



-publisher of 80- US 



"(GL) superior to either the Osborne (SBSG & Taranto) or 
Radio Shack ... MA1L-X has a greater capacity. . .more 
flexible than (R.S.)" -columnist of 80-microcomputing 



"imperceptively fast . 
workhorse" 



(DBMS) is a good and reliable 
-publisher of Interface Age 



Data base manager, integrated accounting package (AR. AP, 
GL & Payroll), inventory, word processing, and mailing list. 
Compare and be selective ! Top-quality software at mass- 
production prices ! 



a^ 



Micro Architect Inc. 

6 Great Pine Ave. Burlington, MA 01803 

617-273-5658 



NEW PRODUCTS 



^149 



Continued from p. 312 

ed logos. To place your order, 
or to inquire about a custom- 
ized case, contact Cases Inc., 
13102 Stone Ave. North, Se- 
attle, WA 98133, 206-365- 
5210. 
Reader Service • 566 

Computer Talk 

Modems have been placed 
on a diet at Universal Da- 
ta Systems! Their new LP 
modem series is entirely pow- 
ered by your telephone line, 
eliminating the need for 
bulky, heat-producing power 
supplies or plug-in power 
modules. This results in a 
functional and attractive 
low-profile design that pro- 
vides full modem features in 
a sleek, under-telephone 
package. 

The five modems in this 
line each measure about 1 by 
6 by Wi inches, and use a 
standard RS-232 connector. 
They are designed for easy 
operation: A mode switch in- 
vokes answer or originate 
operation, and a talk/data 
switch simplifies transfer of a 
telephone call to the com- 
puter, allowing you to switch 



from voice to data communi- 
cations. 

Prices for the LP modem 
series range from $145 for the 
0-300 baud modem to $445 
for the 1200 bits per second 
model. All are available from 
Universal Data Systems Inc., 
5000 Bradford Drive, Hunts- 
ville, AL 35805, 205-837- 
8100. 

Reader Service • 578 

More Memory 

RAMPAK is a 64K RAM 
upgrade for the Model 4. It is 
available in two different ver- 
sions: RAMPAK-I to upgrade 
a 16K to a 64K, and the 
RAMP AK-U to upgrade from 
64K to 128K. The latter al- 
lows programs like MEM- 
DISK to take advantage of 
the Model 4's bank switching 
mode throughout the entire 
128K. They cost $96 and $1 10 
respectively. 

For those of you who want 
to upgrade from 64K to 1 28 K 
using your own 64K RAM 
chips, RAMPAK-PAL, a pro- 
grammed array logic chip, is 
available separately. It costs 
$34.95. 




The LP modem series from Universal Data Systems. 



¥& •- VL¥&F6> r lMmbKr 1 %& 



MIKROKOLOR 

TRS-80* MODEL 100 COLOR GRAPHICS 

High resolution color graphics lor graphs, charts, games, 

animal ion. business applications, teaching, scientific 

display. Allows full sized color text and graphics as featured 

in 80 Micro magazine. May & June 1983 

Display on any sized Color Monitor or Color TV with 

modulator. 

256 x 1 92 Color Graphics ■ 1 5 colors plus transparent 

3 dimensional Sprite planes - Simultaneous display 
of planes 

4 Modes of operation available: 
1. - TEXT: 24 lines - 40 characters per line. 6x8 

matrix, 256 user def ineable characters 

2 - MULTICOLOR 64 x 48 Color Graphics, 

3 - GRAPHICS t: 256 x 192 Color Graphics, 24 

lines - 32 characters. 8x8 matrix. 2 colors per 
character 

4 - GRAPHICS 2 Same as Graphics i except 16 

colors per character. 



SPRITES: Active in all but text mode, 32 prioritized 3-D 
planes, 15 colors plus transparent, easily provides 
animated graphics with simultaneous display of all sprites 
Composite Video Output (NTSC). Comes with sample 
programs and instructions. No hardware modifications 
necessary, plugs into expansion socket Uses Texas 
Instruments TMS9918A Video Display Processor. On 
board RAM uses no system memory space 
User manual only - $5.00. Money Order, COD, checks or 
credit card Personal checks must clear. COD add $2 00 
Visa Mastercard add 4%. Calif, residents add6% sales tax 
DEALER INQUIRIES INVITED. 

$235.00 Assembled and tested. 

$195.00 Kit with instructions 

•TRS-80 Trademark of Radio Shack/Tandy Corp. 



ANDREASEN-S ELECTRONICS RESEARCH & DEVELOPMENT, Inc 

Technical Assistance: Box 5686, Vandenberg, Ca 93437 

To Order 1 548 Monterey St, San Luis Obispo, Ca 93401 ph (805) 541 -6398 ^ 172 



VSS-80 

Viewgraph Slide System for Business, School & Home 
For your TRS-80 Model I/III . . . $79.95 

• Efficient Viewgraph Data Base 

• Hi-speed Graphics including 4 shadings 

• Supports many popular printers 

FUTURE PROJECTS CORP. (203) 775-3062 

P.O. Box 11, Hawleyville, CT 06440 „ w 



PACKER Machine language program that edits all or part 
ot your Basic program to run taster save memory, or 
ease editing The 5 options include UNPACK— unpacks 
multiple statement lines into single statements 
maintaining logic, inserts spaces and renumbers lines 
SHORT— deletes unnecessary words, spaces, and REM 
statements PACK— packs lines into maximum multiple 
statement lines, including all branches MOVE— moves 
line or blocks ot lines to any new location on program On 
2 cassettes tor 16K 32K & 48K 
For TRS-80 Mod I or III Level II or Disk Basic $29 95 
SYSTEM TAPE DUPLICATOR Copy your SYSTEM tormat 
tapes Includes verity routines The Model III version 
allows use ot both 500 and 1500 baud cassettes speeds 

For TRS-80 Model I or III Level II S15 95 

CASSETTE LABEL MAKER: A mini word processor to print 
cassette labels on a line printer Includes 50 peel - and - 
stick labels on tractor teed paper 
Fqr TR-80 Model l of III Level II & Printer S17 95 

PRINT TO LPRINT TO PRINT Edits your Basic program in 
seconds to change all Prints to LPrints (except Print© or 
Print*) or LPnnts to Prints Save edited version 

For TR-80 Model I or III Level II S12 95 

FAST SORT ROUTINES tor use with Radio Shacks 
Accounts Receivable. Inventory Control I. and Disk 
Mailing List Systems lor Model I Level II Sorts in 
SECONDS' You'll be amazed at the lime they can save 
Supplied on data diskette with complete instructions 
FAST SORT for Accounts Receivable S19 95 

FAST SORT for Inventory Control I S19 95 

FAST SORT for Disk Mailing List (specify data diskette of 

cassette for 1 drive system) S14 95 

ALL THREE ROUTINES S44 95 

Prices subject to change without notice Call or write for a 
complete catalog Dealer inquiries invited VISA and 
Mastercharge accepted Foreign order in US currency 
only Kansas residents add 3°o sales tax 
On-line catalog in Which it a FORUM-80: 316*82-21 1 3 
Or call our 24 hour phone (316) 683-481 1 or write: 



JM 



COTTAGE SOFTWARE 

614 N HARDING 

WICHITA KANSAS 67208 



• 187 



TRS-80 is a trademark of Tandy Corporation 




cojnpuSffTi 

AT WHOLESALE PRICES 

Thousands of Satisfied Customers- 
Computer Hobbyists-Public School Districts-Government Agencies 



$=&* 



Blank Diskettes 

Soft Sector-Single Sided Double Density 




[0 



*25?* 



20 



50 



s 12? # 



100 



SJ69* 



^^^ustorr^^ve J^rwelope^Ada^^ 
lO-pacl< Custom Case *3 •■■ 50- pack Case -22" 



I PS SHIPPING 110201 >3 (50 100) H> 




!2 95 I 





Blank Cassettes 


—> 




100°., Error-Free 


& Fully Guaranteed 


1 »-nnlh 


12 


24 


46 


250* 


500* 


C-05 


.69 


.59 


.49 


.44 


.36 


C-10 


79 


.69 


.59 


.49 


.39 


C-15 


.89 


.79 


.69 


',•< 


.49 


C-20 


.99 


.89 


.79 


.69 


.59 


C-30 


1 09 


.99 


.89 


.79 


.69 


Boxes 


.26 


.21 


.20 


.16 


.13 


*250500 Quantities without 


labels. 


With labels Add 4C 


UPS SHIPPING 


l>*3 (3b9l 


12 i 


iilli •> 



200 *4 H '' • **." shipping & handling 
1000 HW' i shipping & handling 

These labels arc for cassettes 

2665 E. Busby Road 

Oak Harbor, Wash., 98277 „,32 



TAPE-PACK SPECIAL 

6 Each: C-5, C-10, C-20. C-30 

^QnJV $1 £95 

♦ M • .hipping 1 handMng 



'V 'W* ^^^ 



1 



Tape 
Caddy 

o£M2 

* 'V snipping & 




pping & handling 



Orders 1-800-553-0035 Ext 80 
ONLY 1-800-528-6050 Ext 3005 

Inquiries 1-206-675-6143 



*> See Usl ot Advertisers on Page 291 



80 Micro, December 1983 • 317 



WIBASIC 



TM 



f$^ "WITTSOFT INTEGER BASIC 4> 

GENERATE MACHINE CODE USING BASIC! 

Machine code runs hundreds ot times (aster than BASIC - but is difficult and 
time consuming to write Basic programs can be written quickly - but run slow 1 
Now you can write and debug your programs in WIBASIC - then compile to high 
speed Z80" machine code 1 

POWERFUL 

WIBASIC isn't a patch to disk basic - it is a fully interactive memory 
resident interpreter compiler, and editor' It doesn't use high memory so device 
drivers, utilities, and USR routines are compatible 

Perfect for generating GAMES, UTILITIES, USR routines or other 
applications that require the speed of machine code Compiled programs run on 
the Model I or III using most any DOS' It supports most BASIC statements and 
functions using integers and strings (including multidimension arrays'), but 
does NOT use floating point operations or functions It is NOT suitable for busi- 
ness or scientific programming but could be used to generate USR routines to run 
with such programs 

UNDERSTANDABLE 

Over 1 00 pages ol documentation cover all aspects of the system From a step 
by step walkthrough of a sample programming session to modular programming 
techniques and program chaining for advanced users We've even documented the 
subroutine entry addresses to allow assembler programmers to combine compiled 
and assembled programs' 

AVAILABLE 

On unprotected disk with manual for TRS80* l/lll $89.95 

Add S5 lOverseas S1 0) Postage & Handling 




1 302 - 41 st Street • Orlando, Florida 32809 

TO ORDER ^337 

Send Check or Money Order Credit Card orders include acct number and exp 
date or call TOLL FREE 1-800-327-4459. FLA residents or technical 

queries call 1-305-423-5683. FLA orders add 5% sales tax 
•WIBASIC'- WittSoft Inc Z80» Zilog Inc TRS80* Tandy Corp 'IMS WittSoft 



Checkbook-Checkwriter » s available tor 
TRS«' MOd* 

TRS-80' Color Computer 




NEW PRODUCTS 



I — ^f Product. Continuous fan foideo 
[if] '.hecks «ltH dua. -windowed 
LX— I envelopes checkbook binder and 

ligncd especially fc : 
outer use m the home, you c=> 

like these anywhere in the 

WWW 

r— yf Savings: Special package - m 
ly| eluding software — to get you 
LI - J started JOOchrxks, 100 envelopes 
and binder- »9 95 500 checks. 3O0 
envelopes and bmcer-$79.95 Rot' 
our versatile Checkbook -Checkwriter ■' 
program that will have you pr-nting your 
checks the day you receive them 

SPECIAL BONUS 

• tacti 250th customer -SO % eft your order, 

• Each 500th customer— vour coer 'rr* 

• Each 1000th customer your order rree. 
end tree check refills for life 



[Vf 



uarartTee- Our checks and ac- 
cessories are guaranteed to please 
you and guaranteed compatible 
with your bank In fact, if you order a 
special package and aren't satisfied for 
any reason, simply return it for a full refund 
jncludng postage^ and you can keep the 
•Checkbook-Checkwrtter II program 

Now CHECK WITH US Order a speoal 
package with moneyoack guarantee 
today! Just enclose a voided check for 
encoding information with your order Or 
send today for our free information 
package We guarantee you II be pleased 
Visa M.C , AMEX orders welcome 
Shipping S9 00 USA $5.00 Outside USA 



.230 



SYNERGETiC SOLUTIONS 

4715 SHEPHERD RD • MULBEKRy, Fl M860 • PHONE 8' 3; 646 655 J 







All upgrades are available 
from VR Data, 777 Hender- 
son Blvd., Folcraft, PA 
19032, 215^61-5300. 

Reader Service s 575 

Options on Options-80 

Options-80A is an ad- 
vanced version of the Op- 
tions-80 program, a tool to 
maximize investment return 
on stock options. This newer 
version includes Black-Schoies 
modeling, phis expanded han- 
dling of covered option writ- 
ing and put option spreads. 
You can enter prices in frac- 
tional form, and print graphs 
in alphanumeric symbols so 
that you can use any printer. 
Plot or tabulate returns as a 
function of either actual or 
annualized percentage change 
in underlying share price. 

Another feature of Op- 
tions-80A is analyzing invest- 
ment return on puts, calls, 
and spreads while taking 
account of commissions, 
risk, dividends, and time-cost 
money. 

Both Options-80 and Op- 
tk>ns-80A are available for 
Models I, III, and 4 with disk 
drives. They cost $125 and 
$170 respectively plus $5 for 
post and packaging. Send 
your orders to Options-80, 15 
Stow St., Concord, MA 
01742. 

Reader Service • 569 

Complete Protection 

Now you can protect ail 



your voltage-sensitive equip- 
ment from power surges and 
spikes with PTI Industries' 
Protector. The plug-in unit 
offers 0.1 nanosecond re- 
sponse time to surges and 
provides complete noise fil- 
tering from 100kHz to 
100MHz. 

The Protector is the first 
unit to offer brown-out noti- 
fication when the line voltage 
drops to 100 volts. A reset 
button safeguards your equip- 
ment from initial line surges 
that inevitably follow a black- 
out condition. 

This surge, noise, and 
brown-out protector costs 
$69 from PTI Industries, 
4740 Scotts Valley Drive, 
Scotts Valley, CA 95066, 
408-438-3870. 

Reader Service • 564 



The Big Switch-a-roo 

The Mini-T-Switch lets 
you reduce the number of mo- 
dems and printers in your use 
by almost half, while still al- 
lowing you virtually endless 
system configurations and 
fast CPU-peripheral hook- 
ups. How? The unit has two 
T-switches, each of which 
can enable two peripherals to 
share a common third com- 
ponent or a CPU I/O port. 

It functions either as a 




A fast (0.1 nanosecond response 
time) surge and spike protector. 



Switch between your computer and 
its peripherals with the AB Mini 
Switch. 



318 • 80 Micro, December 1983 



CHURCH DONATIONS 



Computer Procram for TRS 80 

Model! I. II. III. IV. 12 * 16 

IBM/PC 



-307 



RECORDS. STORES * REPORTS 

Gtves printout ot collections totals to date as wet as 

individual quarterly reports to congregation members 

•NOW AVAILABLE* 

Mfttienal module* to provide 
Church Directory 
Word Processing 
Attendance Record 
Membership Profile 
General Ledger 

Radio Shack • * • • • 
Five-Star Rating 

Designed to fulfill administrative a financial reporting 
and record keeping needs of churches 



CUSTOM DATA 
Depl AC 
505-434-1096 



301 Eleventh Street 

P.O. Box 1869 

Alarnogordo.NM 88310 



SEND AND RECEIVE 

MORSE CODE 

•TRIPLE SPLIT SCREEN 
•SPEED: 1-200 WPM 



This outstanding 4K machtna language program tor your 
Model I. Ill or 4 hat • type ahead butter active vmHe 
copying. The computer generates the lone so only an 
audio amplifier Is needed. A transmitter may be keyed. 
Send from keyboard. • messages, at random, or repeat. 
Received Monte Is decoded, dtapfayed. and printed. I/O la 
through the cassette Interlace Morse cursors a other 
features. 

stusltction gutrinl»»d Of your mon»y back 

Cassette with instruction booklet only $19.95 
postpaid. 16k required 

ROGO Computer Products 

4752 DeBeers Drive 
El Paso. Teaas 79924 •" 343 




SAVE BUCKS 

ON VERBATIMS 

$25.95 • 

5 YEAR WARRANTY 



3l 



Slngla Sldad / DOUBLE DENSITY SOFT SECTOR 
VISA and MASTERCARD ACCEPTED 



COMPUKIT •« — 



1-800-23 

i-rij-««o-«ooo 

1*19*0 Hickory Knoll Mom ran. TmMtt TTOS 



1L 




Subscription 



80 Micro does not keep subscription 
records on the premises, therefore 
calling us only adds time and doesn't 
solve the problem. 

Please send a description of the prob- 
lem and your most recent address 
label to: 

BOmicrc • 
Subscription Dspt. 
PO Box 981 
Farmingdale, NY 11737 



Thank you and enioy your subscription 



DISKETTES 

$15.95/boxofio- 

•5 25- SINGLE SIDED. SINGLE DENSITY 

MANUFACTURED BY ONE Of THE 

WORLDS LARGEST PRODUCERS 

ALL DISKETTES ARE SOFT SECTORS 

EACH DISKETTE IS CERTIFIED ERROR FREE 

5 25" SSDD $18.95/ BOX OF io 

5 25" DSDD$22 95/BOXOF10 

TWO BOX MINIMUM ORDER 

PLEASE ADD $1 50/BOX SHIPPING & HANDLING 

DEALER ANO CLUB INQUIRES INVITED 

(312)490-9239 
SHEPHERD MARKETING 

-jar— P.O. BOX 941339 
■ ~'m$' | SCHAWMURG.il 60194 

IL RES PLEASE ADO 6% SALES TAX 



GRADE BOOK 



Disk program (one disk required! 

Simple comprehensive 

Teacner designed and acclaimed 

In use 'or over 3 years 

No computer knowledge required 

Line printer optional 

Guaranteed 



IBM-PC 
•36.95 



TRS-80 l/lll 
•34.95 



APPLE I 
•36 95 



Bram CompuTeasers IBM-PC APPLE *19 95 
Testmaster Series IBM-PC *19 95 each 
Boggei Word Game IBM-PC '10 95 
Jeopardi TRS 80 l/HI *9 95 
Factor Label (CAI) TRS 80 l/m »29 95 
Grade Port Average IBM TRS-80 *7 95 



m 



COM PI 1 1\(, 



Depl 2 



SAVE MORE 

THAN EVER ON 

3M Scotch 

DISKETTES! 



$195 



$O70 



$2.07 ea 
J2.S4.-d 
$3.30 ea 



I SJL SVi osoo 

■ Qt> (745)— Aat Q,v 20 

4 SSQO— 96TP) (74«) $2.89 ea 

. DSQD— 96TPI (747) $3.95 ea 

iSpeoty sort. 10 or 16 sector.) 

8 SSSOI740) 

8 SSDOI741) 
8 DSDO (7431 

(Speory soft or 32 sector | 

Save even more on quantity orders! 

Minimum Oder 20 diskettes Add $3 00 Shipping 

per 200 diskettes COD charge $i 65 additional 

Visa • Mastercard • Checks 

For last service, call 

DISK WORLD! 

Nationwide: 1-800-621-6827 

In Illinois: 312-944-2788 

DISK WORLD! " 348 

Suila 4806 • 30 Easl Huron Slreoi • C'Cago Winon 606 1 



Aultwnred Distributor 
Information Processing Products 



Drawing 



Bnarc 



> Crciaa L/naa. Pamaxusn. Tart Animation 
• Fill Mirror Imao. Irtvartad Scraan. Entarga 
a Savaa graphic! as BASIC program 

a Scraan dump to prinlar lull or hal' siza 
• Disk or tapa storaga 
a Modal l. HI. 4 
a Documantabon includad 



TipaS24 99 



Oi»«*M99 



Manual only S5 00 



SandChachor Mow ay Ordar (Mlcata modal) 

J I A Aaaocla t ai 

P.O. Baa ISM 

W H aa l en lU Ba n , MarirlawM WHU 

' Purchaaa onca may 0* appltsd Io tape or disc al later data 
Maryland rasioanrs add 5*» aalaa tax 



DATA COMPACTOR 

Increase data storage capacity 

1/3 to 100% without using 

machine-code! 

These routines are written in BASIC 

SOURCE CODE which may be 

integrated into user's programs in 

direct sequence or as subroutines 

This manual will show you how to 

do it yourself. 

Send $49 95 &. $2 00 USA shipping 

Demo disks available with mergeable 

routines for CP/M or TRSDOS 

compatible routines for TRS-80, 

II. or III. 

Specify CPM or TRSDOS 6. add $ I 9 95 

for 5'/4" disk or $24.95 for 8" disk. 

Dealers Invited IB C 
EDWARDS L ASSOCIATES 
P.O. BOX 42 1 58 
COLUMBIA. S.C 29240 



s See List ol Actyertisers on Page 291 



80 Micro, December 1983 • 319 



COPYCAT 

Disk backup utility 



Now you can have a solution to the problem of 
protected software backup. 

COPYCAT* is the most powerful disk backup utility yet 
designed for the TRS-80 Computers. It will automatically 
make a fast, exact copy of your master disk regardless 
of protection schemes used including CRC errors, dual 
density tracks, mixed sector lengths and irregular I.D. 
pack. 

COPYCAT* is intended for your personal use only in 
making backup copies for your valuable protected soft- 
ware. 

COPYCAT' runs on a 48K, 2 disk drive TRS-80 
models 1,111 or 4. Specify model number when ordering. 

All orders are processed within 24 hrs. 
Non-certified checks require (2) weeks for bank clearance 

COPYCAT© . $ 34.95 

Add $2 00 for postage and handling 
California residents add 6% sales tax 

OMNISOFT R€S€flRCH 

2170 W. Broadway, #501 A 

Anaheim, CA 92804 

(714) 772-5000 

Dealers inquiries welcome 



^36 



NEW PRODUCTS 



DISnDATo 

The Disassembler That Ever 



Disassembler That Even 
Tracks Down DATA!!! 



Outputs 



instead of the meaningless "equivalent". ^^ 



H37F7 DEFM Cass? 
DEFB 03H 



BE 
H.C 

(HL).E 
(HL).E 

NZ.S'5 



AB25 LD 
LD 

LD 
LD 
CCF 

JFt NZ.S-5 '.etc 
» AUTOMATICALLY identifies such data areas 
» Outputs fuiiy-iabeied Radio Shack'or APPARAT"EDTASM-tormat code to 

display, printer cassette or disk (Printer output fully paginated | 
» Relocates itself to any desired RAM area up or down by as little as one byte or 
as many as required 

• Loads programs from cassette Or disk and displays entry points 

> Runs on TRS^80 Model I (Level II). Model III. or Model 4 (in Model III mode). 
16K or more, cassette or disk 

• 1354-12 (Model l/lll cassette Version 2) J34 95 

■ 1354-22 (Model 1114 diskette. TRSDOS' format Version 2) $39 95 

Pegistered Trademarn Tandy Corp "' Registered Trademark APPARAT Inc 



Copies virtually all formats of cassette files'" v" Vs»i 

i AUTOMATICALLY senses input cassette density" 1 (Model III) 
> Allows Mod III user selection of output density, each file 




• 1366-10 (Model I III cassette 



$1995 



Professional Software for both Novice and Expert 




Soft wore 



To order phone (513) 435-4480 
(M-F 9am -5pm EST) or 
send check or money order to 

Pro/ Am Software 
220 Cardigan Road 
Center****. Ohio 45459 

,-260 



f and Mai U rCam acoapte* 

When ordering via card include card 
number eipiralion dale, your name. 
address and phone numoer 

U S Funds only Add S? 00 Slipping IU S I 

S5 00 overseas) per if- 
COO orders S3 00 additional pe> w- 
Or*<o 'es>denls p*ease add 6S Sales Ta. 



desktop unit or in a 19-inch 
rack. Its rugged rotary switch 
with silver alloy-plated con- 
tacts is rated at a 10,000- 
operation life expectancy. 
The aluminum enclosure con- 
trols EMI/RFI emissions. 
Each module has an interlock 
for quick and easy installa- 
tion. You can piggyback the 



device to increase computer 
productivity. 

The Mini-T-Switch is 
available for a risk-free 
45-day trial period in versions 
compatible with either coax- 
ial or EI A RS-232 connectors 
priced $125 and $230 respec- 
tively. For further informa- 
tion, contact Inmac, 2465 



DIFFERENT^j^cK 




Take your frustrations out on your computer with Byte Bat. 

Bash It Up! 

Every one of us, at one time or another, has felt com- 
pelled to smash the video screen on our computer. Some 
of us (admit it) have even done so . . . but the pleasure de- 
rived from such actions was short-lived when the bills 
came in. Now you can beat up your computer to your 
heart's content with the Byte Bat. 

Specifically designed to serve as a frustration shunt, 
the Byte Bat features a number of digital interface 
modes, plus BAUD rates (Basic Aggressive Units of Dis- 
satisfaction) from one to 12,675,432. The device is com- 
patible with all computers and operating systems, mak- 
ing it the first universally compatible foam ware. 

Each kit comes complete with one Byte Bat, a poster 
showing the device in use, a button, a user's manual, 
and a warning decal that alerts all who approach that 
"This computer-friendly liveware is protected by Byte 
Bat." The Byte Bat is sold for $9.95 from your local 
computer dealer. If they are out of Byte Bats you can or- 
der your own for $12.50 from MicroTie Systems Corp., 
P.O. Box 8112, Walnut Creek, CA 94546, 800-227- 
3900, 80O632-2122 (CA). 

Reader Service *** 574 



New product listings are based on information sup- 
plied in manufacturers' press releases. 80 Micro has not 
tested or reviewed these products and cannot guarantee 
any claims. 



320 • 80 Micro, December 1983 



Complete Business 
Software Package 



TRS-80 MOO. 11/ 12/ 16 
FLOPPY OR HARD DISK 



vj 



V3«n«ral |_tdg«c 
Account! r«y«bl« 
Account! rt*c«lvabl« 
Inventory 




NONA/: 



RYEAR 



Payroll W/ Job Coating 

o Practlca Managamanl 

o Structural Englnaarlna. 

o R.yla.od |n April 80 MICRO 



Software Modules All Interactive 



P.O. BOX 223 - DCPT. A 
NEWTONVILLE, N. Y. 12128 



(518) 271-6825 




w 



DOTDRAW 

MICRO-ART 

NEWDOT 



GRAPHICS 

DISK BASED SOFTWARE 

TRS-80 MODEL I. III. IV 

Includes Printer Options for EPSON 

■Im 1on.li Gwp «JW 

— for the Young & Young at Heart. 32K $27.50 
~~ Povv(;rful Graphic Designer for Adults. 48K $37 50 

— Tools & Entertainment ior Programmers. 4HK $47.50 

FREE Catalog & Information ^.33 

Write or Call 

ISLAND TECHNOLOGIES 

P.O. BOX 856 

STATE COLLEGE, PA 16801 

(814J 234-4589 



• >••••••> ••••••»•••»••••••••••••••• > > . ■ 1 • • • • • • • • > • • »•••««• 



TECHNOLOGIES 



RATE BASE: 

130,000 

ISSUE DATES: 

• Nov./ Dec. • May /June 

• Jan. /Feb. • July/Aug. 

• Mar. /Apr. • Sept./ Oct. 

The complete publication for 
the beginner or inexperienced 
computer owner Targeted to 
reach the impressive computer 
market of the future . . . people 
who are planning to buy. . .or 
owners of hardware ready to 
upgrade. Computers 84 talks to 
them in plain language, explaining 
your products and suggesting 
applications. 

For further information, contact: 

Ed Knobloch. Advertising Director 

1515 Broadway, New York. NY 10036 

212-719-6572 

A CBS PUBUCATION 




L If PIOBUCTS. II© 



II LEVEL IV MEANS FOUR LEVELS OF EXCELLENCE II 

/QURi_.TY /VALUE /SERVICE /SUPPORT 



IB 




PREMIUM GRADE TRS3D f S 

Bull DING A PREMIUM GRADE MICROCOMPUTER IS A CLAIM FEW COMPANIES CAN 
HAKE. ANO EVEN FEMER CAN BACKUP. ME 00 IT EVERY DAY. EACH LEVEL IV 
COMPUTER SYSTEM IS CAREFULLY ASSEMBLED FROM PRE-TE8TE0 COMPONENTS OF 
THE HIGHEST OUALITY. AND TESTED FOR PERFORMANCE TO A LEVEL FAR ABOVE 
THAT FOR WHICH IT HAS DESIGNED. AFTER BURN-IN. EACH UNIT IS 
DELIVERED WITH THE FAMOUS LEVEL IV 90 DAY LIMITED, PARTS AND LABOR 
WARRANTY (COPIES AVAILABLE ON REQUEST). 

A LEVEL IV COMPUTER IB DEBIONED TO BE COMPLETELY COMPATIBLE WITH THE 

MOUNTAIN OF SOFTWARE AND HARDWARE READILY AVAILABLE FOR IT. ANY ITEM 

THAT WORKS ON OR ATTACHES TO. A STANDARD R/8 UNIT WILL FUNCTION WITH 
OUR VERSION. 

CONSIDER THESE OPTIONS TO ENHANCE YOUR COMPUTERl 

I I . . 40 AND 80 TRACK 8INOLE AND DOUBLE HEAD DISK DRIVES 

21 .. WINCHESTER DRIVES 4.4 MEG THRU 31 HES 

31.. CPU SPEED-UP MOD'S. MORE THAN DOUBLE YOUR SPEED 

41.. SO COLUMN. 24 LINE DISPLAY, AND CP/H FOR MOD3 

9).. MODS AND MOD4 DISK UP-BRADE AND MEMORY KITS 

BUILDING A MODS OR MOD4 WITH THE AOOVC CAPABILITIES iFRTAINLY MAKES 
IT A PREMIUM SRAOE UN I • , BUT OUR MOST IMPORTANT PRODUCT IS 
OF T E R - THE -BALE-BER VICE -AND -SUPPORT . 

NOW FOR THE SURPRISE. BABE PRICE FOR OUR 64K M0D4 IS ONLY $ 1 3«7«7.UU 

REMEMBER LEVEL IV MEANS •OUALITY .VALUE "SERVICE (SUPPORT 

SOME HAY BET CLOSE TO OUR PRICES. BUT NONE WILL HATCH OUR VALUES. 



CALL FOR OUR CURRENT LOW DI8C0UNT PRICING 
IN-STATE C313J SaS-6200 OTHERS 800-B21-330S 
WE ACCEPT PAYMENTS BY VISA, M/C, CHECK. COD 



• »«■ 

I(UM 
Ul « «- u 

f ■>- 

"HI 

u. MS 
u. o m 
Si p 

>Bl5 

mo 

o«ou 

»- KB) 
SMB.- 

55 ° 

-OOi 

o c s 

OliO 
• M J 
Ot{ 

oi:> 
o -• c 

■All 

o««> 

O H 

lljll 

• ■ X 

M* 

3Ck.» 

BCC * 



3 COMPANY STORE LOCATIONS)! 

NAIL fc PHONE ORDER CENTER 
32439 SCHOOLCRAFT ROAD 
LIVONIA, MICHIBAN 4B190 

COMPUTER BALK* CENTER 
182 NORTH 20TN STREET 
BATTLE CREEK, MICMIOAN 

PULL LINE R/B SALES CENTER 
134 SOUTH PRONT STREET 
DOMASIAC, MICHIBAN 4*047 



ASK ABOUT OUR 

mm 
mums 

DISCOUNT PROGRAM 



VDUR DNE-5TDP 

CDitlPUTER 

5HDPP.JNG CENTER 




Where is that 
Movie?' 

Find it quickly, ee&ily with 

PIDEOTkPE 




Takes the work out of managing 

your video library: easy to use • 

stores over 1 ,000 titles • prints 

numbered labels • lists by tape and/ 

or title • searches by tape, title, or 

performer • very fast • ready to use 

TAPE 

f "*"* TRACKER is a 

* -*^ ***•■ real time saver, 

and the price is 

right. Make 

your life easier. 

order today, 

toll free: 

(800)824-7888, 
oper. 422 

EQUIPMENT: 

TRSBOIorlll. 
48K,2dl*ks 



NEW PRODUCTS 



SPECIAL 

INTRODUCTORY 

PRICE: 

$29.95 



Dep't.C.Box560 

No. Hollywood. C A 9 1 603 

(213)764-3131 

TERMS. VISA. MC. checks. COD. Please add t2.00 shipping In U.S. or Canada, 
S5.00 overseas, sales lax in Ca. Most orders filled ivilhin 48 hrs. 






MAKE IT 

EASY 

TO 

SAVE 

your copies of 

micro* 

Your magazine library is your prime reference source— keep it 
handy and keep it neat with these strong library shelf boxes. 
They are made of white corrugated cardboard and are dust resis- 
tant. Use them to keep all your magazines orderly yet available 
for constant reference. 
Self-sticking labels are available for the following: 
80 Micro 73 Magazine Radio Electronics 

Microcomputing QST Personal Computing 

inGder CQ Byte 

Desktop Computing Ham Radio Interface Age 
One box (BX1000) is $2.00. 2-7 boxes (BX1001) are $1.50 each, 
and 8 or more boxes (BX1002) are $ 1 .25 each. Be sure to specify 
which labels we should send. 

Call TOLL-FREE for credit card orders: 

1-800-258-5473 

Or use the order form in this -magazine and mail to: 



micro 



a 



Aim: Book Sales, Peterborough, NH 03458 

^SHIPPING AND HANDLING CHARGES $2.00 per order up to and 

including a quantity of eight 25« for each additional box ordered. □ 

322 • 80 Micro, December 1983 



Augustine Drive, Santa Clara, 
CA 95051, 408-727-1970. 
Reader Service ^ 571 



3-D Graphics 

Broaden your imagination 
by creating three-dimensional 
views on your Model III with 
Surface Plot. The program 
lets you enter an equation of 
the form Z = F(X,Y) where Z 
is the height above the sur- 
face for a given X,Y coordi- 
nate (e.g., entering the equa- 
tion Z=10-X*X draws a 
lull). You can view the final 
picture from any position in 
space so you can see an image 
from underneath, above, or 
even inside a hill or valley on 
the plot surface. You can also 
specify the size of the result- 
ing image. 

Surface Plot automatically 
removes hidden lines for best 
results. You can save finished 
plots on disk or print them on 
any of 20 popular printers. 
The program requires the use 
of Grafyx Solution in order 
to work (Grafyx Solution is a 
plug-in, clip-on board that 
gives you 98,304 points in a 
512 by 192 matrix). 

The program, 12 hi-res pic- 
tures, and manual cost S39.95 
from Micro-Labs Inc., 902 
Pinecrest St., Richardson, TX 



75080, 214-235-0915. 
Reader Service • 557 



Getting Through the 
Paperwork 

Use Paperwork, a word- 
processing package, to get 
through your paper work 
quickly and easily. The pack- 
age consists of a Line/Screen 
Editor that offers global re- 
placement, searches, text line 
movement, and line inser- 
tions without having to posi- 
tion the cursor within the 
desired lines; a Mailing List 
Address data, base that lets 
you merge name and address 
information into letters, en- 
velopes, and mailing labels; 
and a System Output capabil- 
ity that provides you with 
hard copies of letters, docu- 
ments, envelopes, labels, ad- 
dress data base lists, phone 
lists, and text file copies with 
assigned line numbers. 

This well-rounded word- 
processing system is available 
for the Models II, 12, and 16 
operating under CP/M. It re- 
quires 64K of RAM and costs 
just $69.95 before Christmas, 
$99.95 afterwards. For more 
information, contact Harris 
Micro Computers Inc., 2560 
North 560 East St., Provo, 
UT 84604, 801-373-1605. 

Reader Service • 580 




An example of what Surface Phi from Micro-Labs Inc. can do for you. 




Don't waste another second waiting for your printer to finish 
before you can use your computer again. With Microbuffer" 
printer buffers you can print and process simultaneously! 

MICROBUFFER. 

SO WHAT ARE YOU WAITING FOR? 



Another fine product from i = PRACTICAL 

^PERIPHERALS 



31245 La Baya Drive, Westlake Village, California 91362 
(2131 991-8200 • TWX 910-336-5431 



That's what you get with the LNW80 Model 2— undoubtedly 
the most versatile, powerful and fully equipped microcomputer 
in its class today A machine so superior in concept and design, 
that it will define the standards of microcomputer performance 
for years to come. 

VERSATILITY 

The LNW80 2 performs wonders with the most complete 
library of software available to any microcomputer on the 
market today Every LNW80 2 comes complete with this 
outstanding library of Business Software LNW SMALL BUS- 
INESS AND PROFESSIONAL ACCOUNTING SERIES w 
General Ledger. Accounts Receivable. Accounts Payable, 
Payroll; ELECTRIC SPREADSHEET '"; ELECTRIC PENCIL" 
WORDPROCESSOR; MICROTERM MODEM PROGRAM; 
CHART EX HIGH RESOLUTION BUSINESS GRAPHICS 
CHARTING PROGRAM; CP/M 2.2 ; DOSPLUS '; LNW 
BASIC v ;MICROSOFT BASIC" In addition to a comprehensive 
line of LNW80 2 Software, it is also fully compatible with soft- 
ware from TRS80" (Models 1. 3.4). CP/M" and Cromemco" 
worlds - a capability which gives you access to the most 
extensive and mature libraries of business, scientific, engineer- 
ing and entertainment software applications So no matter 
how far you expand into user applications, the LNW80 2 will 
expand right along with you 

POWER 

The LNW80 2 performs miracles with the computing power 
of 96K RAM (standard) of user memory matched with a 
mass storage capability which handles 5%" floppy disks and 
bV 4 " hard disk drives And while the unit comes with built-in 



controllers for 5%" and 8" floppy disks (single/double sided, 
single/double density, up to 4 5 Megabytes capacity), the 
LNW80 2 also gives you the unique ability to read and write 
diskettes from a greater variety of other popular computers 
than does any other microcomputer. So regardless of how 
big you grow, you will never end up with thumb-twiddling 
down time while you expand to a more powerful system. The 
LNW80 2 will always have enough muscle to handle your 
biggest and toughest jobs. 

FULLY EQUIPPED 

The LNW80 2 was developed to anticipate the needs of bott 
expansion and compatibility So the computer was designed 
with enough built-in features to keep you from having to spenc 
a small fortune as you move down the road to higher levels 
of user sophistication Standard features include high and lov 
resolution graphics in both color and black-and-white, an 
asynchronous serial communication channel, and a wide vari 
ety of tape, printer, monitor and hardware expansion ports 
In addition, the LNW80 2 contains an array of quality construe 
tion features that fully justify its remarkable one-year limi- 
ted warranty. 

So if you re looking for a microcomputer that will satisfy you 
performance needs as you grow and develop, take a long, 
hard look at the LNW80 2. It's the one microcomputer built to 
meet the challenges of tomorrow— for a long time to come. 
For more information and the name of the dealer nearest yoL 

write or telephone: 

LNW Computers *oi 

2620 Walnut, Tustin. California 92680 

Telephone: 714/544-5744 




STATE OPTOMORROYT PERFORMANCE. 

INWCOMWITIIRS